IMHO, there are too many problems with shared hosting - especially when you use the shared mail server. It only takes one spammer (or one account being hacked) to have the entire mail server added to blacklists with the result that your e-mails will be blocked everywhere. Therefore, I find that there is no excuse to use a shared host unless you don't need e-mail - or security for your websites.
VPS is not the magic pill to resolve problems but, with their dedicated IP address(es), that's a start. EC's configuration statement is on point as you can lock-down a VPS (with all its services) far more easily than you can with a shared server. Managed VPSs are the way to go, though, as you can't manage everything unless you're a sysadmin and monitor your server 24/7/365.
Dan(ldcdc)'s comment against using a small VPS is good ... as far as it goes. If you're using Joomla (or other memory hogs), you MUST get a far larger VPS just to cope with the app's voracious appetite (WebHostingBuzz does have specialty accounts, including Joomla, albeit they're shared). The bottom line is to KNOW your requirements and select a VPS level which will meet 99% of the spike (traffic) levels you expect.