抽象度をあげた効果とは?

たとえば,Linux(というかUNIX)では,なんでもかんでも file になっている./dev/null とか /dev/hda0 とかって,例があんまり良くないけどファイルになってるから,普通のファイルを扱うのも,デバイスを扱うのも同じ方法で大丈夫.そういうことでしょ?抽象度をあげる意味って.もっと低レベルな処理にしたほうがハードウェアを直接いじれて細かいことがいろいろできるけど,そういうのはせずに統一された処理でできる便利さをとった,んだと思っている.
で,最近見ているシステムは,けっこう抽象度が高くってなんでもかんでも同じ風に扱えそうな雰囲気が漂っていた.で,UARTで試したらうまくいったから,Audioもいけるかと思いきや,いけない.なんなんだよ.なんのために理解しにくい抽象度の高いシステムをしょぼいドキュメントとサンプルのソースコードと妄想から理解したと思ってるのさ.まったく・・・.苦労が増えただけだ.