1. Leadership that's great at producing exciting visions of the company's future, but awful at carrying the vision out. This leads to serious communication issues, personnel conflict, product issues and delays where customers are paying for products that aren't ready or haven't even been created yet. The company is able get away with this lack of execution because the clientele (pharmacies) are people that are notoriously overburdened in their day to day, lack the technical expertise of business owners in other industries, and don't have time to monitor the lack of service delivery.
2. Lower level managers take their cues from the top and treat people as disposable entities. It's a very slave-driver mentality of "just do what I say" if you're under me because input from anyone lower than your role isn't respected or appreciated, unless it's favorable to you. Once lower level employees realize this they are less likely to be honest with managers who are only going to dismiss their concerns, get defensive, threaten their jobs or use them to scapegoat their own managerial shortcomings.
3. There is little to no collaboration between different areas of the company. Developers, sales, customer service and marketing seem to exist on different planets. It's not necessarily the responsibility of the separate departments. It's just that they've been told to do or say one thing and another department has been told to do or so say one thing, and most of the time, it's designed to hide the poor performance of the company's main product. It's a running joke among the customer service team, after they've been here for a few months, that the product isn't all that good.