A RAID controller won’t let you swap out one bad drive in a two disc array. Of course, this would probably be the most obvious reason you would have a RAID controller.
A backup vendor ties an installation to an explicit version of a shared library.
Your database vendor tells you to install a network connection package on one operating system, but the package appears to be designed for another operating system. When you find on your own a second connection package from your vendor, the latest version breaks another component in your installation. You then have to search for an earlier revision of that second package.
A general ledger vendor’s support gives you multiple, conflicting answers to the same question.
You are supposed to pass data to another vendor without a full explanation of that data will be used, and all of a sudden you wind up with new requirements for producing that data that were not present at the beginning of the project.
This all seems to mean that things ultimately depend on you. Sadly, even the best of vendors, companies, or individuals no longer come through. Whether it is lack of caring, not having enough time, or some other reason, it seems to be that way these days.
My goal is to accept it and move on. What else is there?