Best suggestion: if you run anything more than the basics (like WHM/CPanel) up the memory to 512mbs. Default memory used is like 38% out of 256mbs. If you add any IDS and use 1 database, it can jump to nearly 80%. Which leaves little to spare.
256mbs is good enough to learn the features and run a simple site, but not hosting anything dynamic. Consider the resources your desktop computer uses (like XP), and use that as a rule for VPS too (because you're going to have the firewall software like Zone Alarm, and the AVG style anti-virus running).
512mbs VPS will let you do the things you need. But a dedicated is still the best bet, as you get full CPU power (so needed for backups, mysql and dynamic content -- like forums).
Stability would be about the same, but with VPS you can tweak settings to your specifics (you have your own my.cnf, php.ini and other system files to tweak performance with).
Yep, VPS is better than shared, but if you don't have time or want to learn the backend, remain on a shared account. Huge learning curve if you never touched *nix before.