My programming is a hobby that turned into a business. It's just one application that I write and sell online. I think the reason it works (just about) is that my market is a niche of professionals. Usually their boss pays for it, so they're not afraid of spending money. Also, most of my competitors are either astronomically priced (get a site visit from their salesman to help decide what options you want) or barely usable (need to learn a huge command language) open source.