Heroku is a fully maintained system - all you as a developer have to worry about is getting your code up and running on the platform. Once that's done you're golden. With services that provide a VPS you have a whole more headaches to worry about. For instance, with EngineYard you have to constantly apply the updates you get coming through, and you also have to think much more about machine setup via the chef recipes that they give you. With Heroku, you simply scale whatever processes you need and you're done.
It comes down to how much you value your time. Personally I use Heroku because it's dead simple, and stays out of the way. Deployment isn't a massive headache for me as it once was.
With regard to cost, the key thing is that you pay what you need to. If you're only seeing low traffic, you'd be fine on one or two dynos, which will cost from nothing to ~$36/mo. As things go up, you pay a little more. There will be a point though where the cost effectiveness of using a system like Heroku(or EngineYard) will cease to be that cost effective, and you'll be looking at your own custom setup, but I dare say that you're some way away from that.
With SSL, you're looking at $20/mo in the current setup at Heroku, although I've heard that this might change for the better. In the grand scale of things, this is extremely cheap. There is no setup fee. With EngineYard there is no SSL cost, but again, you've a number of hoops to jump through before you'll get it working (it's not hard, it just takes time).
Personally, if you're still new to this stuff, I would definitely stick with Heroku for now, as it takes a whole load of worries and concerns away from you and leaves you to focus on building an application. Once you're in a position where you know more about what you want from your hosting you can then make a more educated call on what might fit your particular situation.