Oh yeah, many things, generally speaking, are going to be better if you're a developer at a company whose business is to create and sell software, compared to being a developer in a company doing something else (at a more or less peripheral department). (This is of course a gross simplification, as software plays an important role in many kinds of products today, and as there's a huge variance in overall atmosphere and job satisfaction between different companies.)
Chances are, in the former case, that the work is more interesting (i.e. motivating) and your colleagues smarter (smart people prefer to work with interesting stuff). Of course your work is also less likely to be outsourced, and so on. Just the feeling that you're closer to the core of the company, and do things that really matter, can be pretty neat. (Perhaps e.g. the most senior guys in your team or department are some of the key people in the whole company.)
Oh, the wording of the question prompts me to add this: I guess it's somewhat rare that software directly makes the money. At least on the B2B/enterprisey side of software business, there's typically a considerable sales push needed to make money out of a software solution (the software product itself and, often, related services). Even if you're working on a core product at a software house R&D team, it's possible that your day-to-day work is quite detached from the money-making (customer-facing) side of it all. (In fact, from one particular point of view, salespeople make the money by closing deals; all other work merely supports sales...) So, if you want to completely escape the notion of cost center that you mentioned, either write software that markets and sells itself, or become a salesperson or technical presales consultant. :-)
The above rambling is based on working many years at a software product company's R&D dept., yet nowhere near the "front lines of profit generation" as you put it.