Even if $7-12/mo is peanuts to you (it definetly isn't to me), it's still $ vs free. And even comparing bitbucket's free plan vs github's $12 plan, bitbucket's /still/ provides more value.
As for if github is so much better as to be worth the extra money is an entirely different flamew..discussion.
It may be $7/mo, but you only get 5 private repos and one collaborator. If you want more than a small handful of private projects, or even want to work on a private project with another person you need to cough up $12/mo, which is infeasable for just a hobby project or two.
BitBucket, on the other hand, gives you unlimited public and private repositories and 5 collaborators for /free/.
For a business, $25/mo isn't much, but for personal projects i prefer free over paid.
The best way to pick a framework is the same as the best way to pick anything-- make a simple app like a blog or a forum with both frameworks and decide from there which one you like better.
Private members are generally just to protect your from yourself. If you have an integer that should /always/ be 1-10, it's easier to use a private variable and a setter that ensures the variable is always valid, than to hope all your code follows the rules. (Then also if the rule changes, e.g. to 5-100, you just need to change one function).
There are some other uses and examples, but this is the simplest one i can think of off the top of my head.
It's pretty expensive, but given how well that demo worked i'd probably buy it if i did any javascript.