1. Driver support. Usually from a lack of manufacturer support.
2. No central focus on meeting business needs (tech support). This complaint is changing with such a large amount of development occurring with programmers employed by business communities for open source development.
3. Have to give up favorite Windows programs (apps & games). This improves over time, but yes, it is a different environment, again with a different historical focus.
These are not criticisms, but excuses. You have listed the standard responses of some Linux-people to criticism, which all miss the point. Real and usefull criticism focuses on why linux might not be the best or perfect os (for the desktop) and how to fix this.