I know I practically just finished ranting about something similar but this is one of those subjects that keeps popping up, especially when I'm talking with tech-savvy people.
I'll see someone talking about getting a device or computer, and someone else will pipe up with something like "Why don't you just build your own computer?", or "Why do that when you can do $otherThing?". Most of the time, these people completely miss the point behind why the other person wants the device, and make assumptions that said person doesn't know what they're doing. Not only is this rude, but it's also rather ignorant to do.
When a situation like this comes up, and you feel you have a better idea of what would benefit the person, take my advice: stop and ask questions. Is this person tech-savvy? What kind of skills do they have with computers? What do they plan on doing with the device? Would they be willing to learn something else that could be better for them?
Find out exactly what they're looking for, and make your suggestion around that.
- Do they just need a machine to browse the web, and don't know much about computers? A Chromebook or Chromebox could really benefit them with how dead-simple they are.
- Do they need a machine for gaming? Point them to some parts and a copy of Windows. If they don't want to take that leap to build their own system, point them to a fairly decent pre-built, like an Alienware system.
- Do they need something to do some heavy programming? Suggest a Mac if they don't want to act like a sysadmin, or a Linux machine from System76 if they want to go full-throttle into learning sysadmin skills as well.
Far too often, people assume they know exactly what someone needs, when in reality, it's based on their own needs and skills. Take a moment to do a reality check before you criticize that person's choice, or you'll just come off as overbearing and more than a little rude.
Geeks have a bad rap for being "anti-social" as it is. Please don't make it worse for the rest of us.