Why people choose to buy Arduino when they can get a cheaper and better dev board?
To put it in a simple comparison, The Arduino and the culture around it is like Legos, made to fit together easily and simple. Pre-made modular system with little work needed on the user's end. A Lego tower is easy to build.

The Discovery board on the other hand, is like real construction equipment. A real building tower is not so easy to build.

Most people are likely to go with the simple option, even if it cost more. Same reason people buy premade computers, when making your own is cheaper and better.