With shared hosting, you’re sharing a server and that server’s resources with a bunch of other websites. With a VPS, you’re still sharing some resources because that’s determined by the hardware, but the software itself is set up in such a way that one machine acts like multiple different servers, providing a different virtual server for every user.
A domain must be unique (for example there can only be one single Yahoo.com) and must be registered with a domain registrar (ie. NameCheap); while for sub domains, users can freely add it on top of the existing domain as long as their web host provide the service. Some would say sub-domains are the ‘third level’ domains in the sense that they are simply “sub folders” under the domain root directory, normally used to organize your website content in different languages or different categories.
Many services offer so-called unlimited or unmetered service for whatever amount of bandwidth, disk storage and sites you use. It's important to understand that most terms of service actually do limit the definition of "unlimited" to what's considered reasonable use. The bottom line is simple: if you're building a pretty basic website, unlimited means you don't need to worry. But if you're trying to do something excessive (or illegal, immoral or fattening), the fine print in the terms of service will trigger, and you'll either be asked to spend more or go elsewhere.