Self hosted (also called on-premises) means that you must install it on your server. The server can be your personal computer, the server of your company, a VPS in Linode (or any other hosting company) or an Amazon EC2 instance. That's your choice. Self hosted is the opposite of SaaS (Software as a Service), where software is hosted on the cloud and only available as a service.
Web app means that it's run from a browser (Google Chrome, Mozilla Firefox, Microsoft Internet Explorer, or any other modern browser). It means that you don't need to install any software on the computers of your users, only on the server. Also, if the server if publicly available, the app can be accessed from all over the world.