If you work at a non-software house, you will always be a second class citizen (in my opinion). Software houses treat their developers well, because their business depends on them.
Not neccessarily... If software is your core business, then your programmers may be seen as a major cost. A software programmer in a large NON-software company may give better hardware, more perks, allow you to use more expensive frameworks and tools, and so forth.
(Obviously, this does not apply if we're comparing against a good software company, I'm just being a cynic and comparing with what I think a typical company might do).
I have worked both for software houses and non-technical companies.
Interestingly, and most counter-intuitively, my best job experience has come from the non-technical companies!
Inside a technical company, your role can become very niche, very fast. That's not necessarily a bad thing, because if you become the expert in a particular field, it can be a big plus on your resume. It's also great to be able to draw on the experience of other, more experienced programmers. But it can also get boring, because you can easily get pinned down in a specific role and not grow anywhere else.
OTOH, in a non-technical company with a smallish IT department, the technical people have to be everything. You cannot get away with living in your own little comfort zone; you have to know every aspect of the program, not just, say, the communications layer or regular expressions or web page scraping. You need to know networks, databases, interpersonal relationship management with your internal users, sometimes even business strategy. And that experience is invaluable.
In summary: as a career path, I would recommend starting out in a software company, get as much experience and learn as much as you can from the senior programmers. After a few years of learning how things should be done right, then you can start thinking about taking your experience into a non-technical company.
I would say most of these answers depend entirely on the company you will be working for.
Here are my attempts to answer your questions:
1 - I doubt it, as it will broaden your knowledge of the software industry.
2 - Certainly not totally bad. Although it might not be excellent, depending
on the company, it's products and it's working practices.
3 - Definately, it expands your knowledge, gives you a different viewpoint on
software then that of a software house, opens up other industries knowledge
to you, and gives you contacts in that industry.
Flextime, 1 day work from home a week, $2500 laptop every year, 1 major conference every other year, 15 PTO days, and market rate salary for the geographic region for your experience level. We are a Microsoft shop, and try very hard to stay reasonably current in tools and systems so our workers skills don't get stagnant.
No one micromanages you if you don't need it. You work with your boss to set reasonable deadlines for all your tasks (and you're expected to hit them). The team in the last 3 years has a soft and hard cost savings of 20x its salary, and as such are constantly shown appreciation by the business.
After major pushes are successful the team frequently goes to see the latest movie releases. We spend several lunch hours a week playing board games like Settlers of Catan.
We are a Non-Software Company.
Of course I run the team, so I have a lot of say in the culture which was paid for by sweat, blood, and results. ;)
I've worked for both, and I've been much happier in non-technical shops and smaller companies, because I get to be a jack of many trades and have earned the right to be involved in top level decisions.