VPS is an add-on to shared hosting. That means you must have a shared hosting account anyway and a VPS just gives you increased & guaranteed resource limits. You still have access to all of your shared resources as part of your shared hosting account.
That means you can get a VPS and still use the shared databases, or you can pay an additional $10/month for a VPS SQL server.
So, when you add it all up, VPS costs at least $33/month if you want all of the bells and whistles.
You don't need a VPS unless your sites are receiving, on average, at least hundreds of requests per hour. Even then, if you use caching and have optimised quite a bit, you can deal with thousands of requests per hour and still not cause any problems in a shared hosting environment with reasonable performance.