In this type of hosting multiple websites share a single server. Customers are partitioned from each other so they have no access to others files.
Good thing with shared hosting is that they are the cheapest plans. They are easy to setup and usually the best option if you are just starting out. Most hosting companies have different shared hosting packages to cover your needs.
These are best suited for blogs, small organizations, services etc but not good for high traffic websites, e-commerce websites.
The problem with shared hosting is that the sites are usually slow to load, since you are sharing the resources. And once your site starts getting a lot of traffic, it gets worse. Also, if one or the other website (sharing server space with yours) gets a lot of traffic it may cause outages or slow down. To handle this, hosting companies monitor your bandwidth and may ask you to pay extra for the traffic even if you are on an unlimited plan.