I've been using dreamhost's shared hosting for 5 years now. I have about 20 domains hosted. Out of those 20 i really only have 1 top performer which is coincidentally the first domain i hosted here. For the sake of privacy and forum rules we'll refer to my website as BS. BS receives about 4-5k uniques a day and just recently i noticed an increase in google crawl errors (server 500 errors). I contacted support in regards to this and it appears i was over my shared hosting ram limit! Chat support was fantastic and made many recommendations to counter this, i decided to go the VPS route for this domain. The transition was seamless, the whole site was transferred after i created another user for the VPS. Afterwards i was able to utilize the resources graphs to see what the deal was. After reviewing the usage and reading through documentation on configuring the VPS via SSH, I soon discovered i had caching issues, file permission problems, and a broken captcha generating more server 500 errors! After fixing all of this i was able to cut my memory usage from 500-1000 meg average usage to sometimes less than 200mb!
If it wasnt for switching to a VPS i would of never been able to discover these issues and correct them. Doing so lead to exponential increases in performance and effectiveness. When used properly switching to a VPS is the way to go!
However my day job is a presales networking engineer and i have a background in web design which helps.
Edit: The best part, I'm still on my free week trial so i'm not even paying anything yet!!!!!