If you want an excellent hosting service go with Linode. You can get a VPS for $5 a month that will happily run multiple websites. The only downside is you need to all the system administration yourself, so it does require some knowledge of Linux.
The thing is for 95% of people that just doesn't work - most people have barely a passing knowledge of Linux, let alone enough sysadmin experience to run hosting on it reliably and securely.
That's why good shared hosts start to fall down. Sure it's easy to install Apache or nginx or Dovecot or $latest_fashion, but to keep systems running essentially 24/7/365 whilst running all manner of untrusted scripts and being exposed to spam, DoS attacks, bad code, security updates, bad patches, etc.....well it took me years to learn how to do it and every week or even day had a new thing to learn. The main reason we did alright is not that we were perfect but that we were honest with our clients and worked hard to genuinely fix any problems. I lived glued to a laptop the whole time more or less.
I don't use any shared hosting companies myself but I've heard a lot of people on other forums & Trustpilot using places like Hi-Hosting, Krystal etc.
I can also highly recommend the guys at Catalyst2, it's been a while since I've used them but they actually ran an offsite Vidahost nameserver for a number of years with near-zero problems and they're also friendly guys rather than some types you find in the IT world.