Overall: Honestly, technical skill is only half of doing good freelancing. Even more so as you become successful and find that you're doing more managing than technical work. And obviously, technical skill is the foundation of your freelance ability. Still, let's assume you have good technical skills.
If there's one thing I wish I'd learned much more about early on in my consulting firm, it is how to manage your client's expectations along the entire way- from quote -> negotiation -> project -> deliverables. I don't have any horror stories, but I feel like that was the biggest squeaky wheel as we were getting started. That, and don't worry about looking too professional. You won't be, it'll probably show in ways you don't know, and instead treat as much as you can as a learning experience rather than trying to hide your lack of knowledge. However, watch out for predatory clients who confuse naivete with lack of business expertise and try to take advantage of you or tell you "how things are done"... to their advantage.
1. Clients do expect a certain level of expertise, but your rate, portfolio and past referrals should go a long ways in setting your client's expectations. Specs, even highly technical ones imo, are a fickle thing in freelance work- a phrase I've repeatedly heard from very successful freelancers is "under-sell, over deliver." But that's just one approach.
2. To be honest, there are many freelancers/firms who are not honest about their rates/development process/billable hours and they still pay the bills. On the flip side, my biz partners and I try to run our firm by the Golden Rule* and it's worked exceptionally well for us.
3. Yes, that is a good general rule, but you should decide early on if you want to do speculative work or not (different from pro bono work). Many firms feel that speculative work is damaging unless you are just starting out and need to establish a portfolio/set of client referrals (in which case, you're still being "compensated" with something of value, just not cash...). Also, you may find that you're willing to work at different rates for different clients.
Hope that helps!