Nowadays, unless your game has lots of 3D graphics, it doesn't even get a look-in, which is hurting to a programmer brought up around the world of 2D games. I find it fortunate that I'm still hired for 2D development projects, as 3D is just too over-hyped. Money is the no.1 difference at the end of the day. The main difference between the two is quality. They also have ties with people they know to do graphics and music, and so can easily strike up a relationship to get the job done.
Commercial development is different.
You are usually working with people you don't know, receive a list of specs, and a timeframe to do it. MOD editing software. Although commercial work pays well, I prefer home development mainly because of the fact that more effort and quality goes into it. Ahh, a tough question. Back in the days of early development, quality of gameplay was the key.