I freelanced for around 2 years and ended up taking a job w/ a startup. Although I enjoyed the freedom of working at my own pace, having an open schedule and being able to select the projects I worked on, it got to a point where I spent so much time doing 1 or 2 things( designing and php ). Since I’ve made the move over to a team env. I have time to learn new languages, exposure to systems that I never would have and no more emergency calls late at night. Plus the stock options and opportunity to learn from others that are way more experienced than me have made the move a no-brainer. I’m not saying everyone should do this, some people are more suited to the freelance world.
Also, a couple of things I learned from freelancing is to not skimp on the things you need such as health insurance, proper equipment and (opt.) a good hobby or gym membership. This should be figured into your pricing and I learned real quick, it’s better to hold out for a client willing to pay accordingly than to take on a project with someone who undervalues your work. A client of mine who I did many projects for jokingly said that a good neurosurgeon was easier to find than a good php developer - so keep that in mind when figuring your pricing.