I know a thing or two about wasting time with Linux, but this post at mostlymaths.net spells out the problem nicely.
Attached to my computer right now is a headset. The wire splits into two jacks: one for headphones, the other for the mic. The mic only works if it is connected to a USB adapter. The headphones only work if they're plugged directly into the headphone port. The best part is that the adapter came with a Logitech quote-unquote USB headset and my current pair is Plantronics.
I don't know how much time I spent fruitlessly tampering with modprobe and ALSA before I figured out that little trick, and I really don't want to know.
Arch Linux is another fine example. It doesn't ask you what your keyboard layout is before subjecting you to the installation procedure, which should give you a clue as to the kind of user experience you're in for with this particular distro.
I tried installing Debian from a two-week-old disc, only to find that the install halted inexplicably at downloading packages. Turned out there was some kind of GPG key error that the GUI wasn't reporting. I only found out by searching the internet that the control-meta-f-keys do in fact allow you to see other ttys, even in the installer.
Ubuntu would have saved me a lot of time, but it's too far on the opposite end of the user-friendliness spectrum, and needs some convincing before it'll do certain things. Certain... basic things.
Such was one lost weekend reinstalling the OS.
Tweak the source of any actively developed program. Wait two months, and find that it has developed code rot. Execute an SVN update, reinstall, and enjoy your upgraded program (which will in all probability be more broken than it was before you updated.)
It's still worth it, though. I'd rather occasionally repair things than depend on a closed-source program that could suddenly become discontinued, obsolete, prohibitively resource-intensive, or otherwise break down of its own accord.