So, I am uncertain as to whether or not you have noticed, but you may have, that software sucks dick for taste. You, me, and every other fool on this planet has had more trouble with software than any other man-made thing (except maybe antibiotic-resistant gonorrhea, yeah, that's certainly worse). One of the primary drivers of software inadequacy is human stupidity. Another is a different form of human stupidity. The final cause is structural human stupidity.
Humans are supremely bad at being consistently logical. We are so bad at it that we have identified almost as many logical fallacies as we have logical rules. This is a problem for software because humans have to write the software, and they have to write it for machines. Machines are built to perform computation, because people suck at computation. There is the whole field of software engineering that employs humans to do this one thing that humans are supremely ill-equipped to do: logic. To make it worse, these humans are often expected to this for protracted lengths of time in environments where they are continually interrupted. Humans who are bad at logic by virtue of their humanity are paid to do logic work for extended periods of time while being continually interrupted... sounds great! What could possibly go wrong?
Some fucker promised people that some shit would be available in 2 weeks, so now some poor schmuck has to spend 15 hour days trying to make the forementioned promised shit that doesn't actually exist at all yet. That isn't really how this shit works, and this is often why people use some hipster framework or language. You see, doing shit properly takes a very long time, and involves fuck tons of testing as each new line or group of lines of code is written. After weeks or months of development and unit testing, it then has to be sent to some group of people to use in production. Flaws will be found and then shit has to get fixed, unit tested, and then sent back for more testing. Only after, perhaps, months or a year or so does the software really then qualify as stable. Unfortunately, our operating systems don't even get this treatment anymore. Now, shit is more like: it compiles? Ship it! This isn't just sales, marketing, or management. This is also the consumer who now demands ever changing, and ever improved software. People are no longer content to merely have things that work. People now expect that shit be constantly improving at ever-faster rates. This expectation means that businesses can't actually test anything. So, when your porn video freezes after a minute and a half, your phone locks up, and you are left with a swollen sack and your dick in your hand while you reboot your phone? That's because you couldn't wait another 6 months for the latest iOS release.