Prototyping is widely underappreciated. People think it's waste to throw away stuff but it's more costly to build upon shoddy foundations
But... "time to market!", "we won't have cash by the time this gets implemented properly" etc etc are the usual suspects here.
100% - one of the biggest advantages of software is its mutability, so why not use it to prototype properly?
I don't think I've ever not learned a better way to write something after writing it. Sometimes it's small and insignificant, sometimes it "forces" me to start over. The funniest is when more than half the code deals with something that won't happen. The banana that is not a fruit clause.
You can prototype UX with a tools like balsamiq or taking photos of paper sketches with paper-to-app application. No need for code to share an idea. Especially from business to engineering or vice-versa.
Product Managers coding is like Developers writing marketing pitches.
The problem is those shoddy foundations can support a lot of weight before they finally fail. A prototype you write in a day - not a big deal to throw away. However if you have been working for a while that is a lot of effort/money.
Worse, often you need to spend years before you realize how an initial design decision was a mistake - not only are you proposing to throw away millions of dollars worth of work - you also don't know that your proposed better design is really better.