How is that any different from any other program on any system failing because of a daemon not running? Inter-process communication exists on every operating system. IPC means your program's behaviour can be different depending on what other processes are running. This is not specific to Linux.
Your other point is equally as inane. Anything might fail because it requires some external program, or external data files, or any other external resource. A program might fail because it requires a particular hardware device to be plugged into your computer. None of that has anything to do with the operating system.
>Or something was compiled without some option for unknown reasons so you're just SOL unless you want to compile stuff yourself.
Oh no! The terribly, impossibly difficult task of running a program! How could you ever subject me to such a fate as having to compile stuff myself. You cruel beast!