Arvind Narayanan on why enterprise software sucks. His main example are baby clothes, where two different groups of stakeholders exist: People who want to buy a cute outfit, and people who actually want to quickly dress and undress their kids.
The fact that people who are buying the software are not always the people who are using the software is a fundamental truth that has a direct impact on the motivation of developers. I have seen many people run into a trap of developing a “user friendly software” without an understanding about who is actually buying the software. It can be very frustrating putting a lot of effort into a fancy dashboard no one uses as opposed to improving the parts of the software the users are frequently using.