A Chrome web app is something which runs in its own Chrome browser instance and does not have any global impact upon the browser. Basically, it's just a website running in its own Chrome frame. Some files may require local storage, but will only be used in that browser instance.
An extension runs globally on your browser - so it'll be present regardless of which page you're viewing. They modify the browser itself in order to add global functionality.
Edit: On searching, this has already been answered here - Difference between Chrome Apps and Extensions