OK... tossing a couple of pennies into the mix.
As a software developer, I take pride in the software that I write. I've always considered it to be my moral obligation to fix bugs in my software.
Here's how I define it:
A bug is something in the program that is *supposed* to work one way, but doesn't work that way, or errors that keep the program from working at all.
For example, if I wrote a program to do a report for the last 30 days, and it only did 29, that's a bug. It's an error in my program, it didn't do what I said it would (or what the menu choices said, etc.) and therefore should be fixed. Free. Period.
If the user wants to do something that the software was not designed to do, that is not a bug. If they want the report to go back 60 days instead of 30, and it was never documented or stated that it would go back 60 days, that's a user request, billable, customized, or available in the "next release". That's adding functionality, not fixing something that is broken.
Additionally, the more complex a program, the more opportunity there is for bugs. You can't possibly test every iteration. For example, if you ask for the number of minutes on a form (I had this happen, btw). You're recording that as an Integer. Well, the user who should have put in 70 minutes, put in 1:10 (one hour, ten minutes). Barf. Program died. Why? The user did something that I wasn't expecting. As a programmer, I should have foreseen that, or at least done enough backend validation of the data to check for user input error. Was it a bug? Technically, no it wasn't. Was it short sighted on my part? Yes. Did I fix it so it couldn't happen again? Yes.
Of course, that's just me. Let's look at video games for a second. New game coming out, been a couple of years in development. Gotta hit the shelves before christmas. (Deer hunter was a perfect example of this going on, by the way....) So, meanwhile, the developers are pumping it out. When they create the installer, they want their game to run; they don't want returns, of course, so a lot of them will overwrite the DLL's on your system with the versions that were developed with their game. End result? The game works, but all of the sudden Office doesn't. Oh, must have been Office that crapped.... wonder why? Well, because this new game just overwrote some of the Office shared DLL's with two year old versions that came with the game!!!
OF course, that's an extreme example, but it happens. Was it a bug? Not really.... but it wasn't exactly ethical either.....
.... Maybe I should have tossed a quarter in on that one. Heheh...
Just my $.02
--Greg