People think it's a spec that mandates how Nostr must develop, blocking everyone from doing what they want.
In practice, it's just a place for interoperability. Where devs throw ideas at each other in the hope that other clients implement their stuff as is.
For instance, there are hundreds of kinds being used that we have no idea what they do. They are just not defined in the NIPs because their devs didn't care. But they still use Nostr.
Got to be careful though as it is all about balance. You may want the network to get stronger and one way to do that is to think about how other may leverage your content/kinds. You don’t want to just ignore outright the good work done by others and re-invent the wheel (but make it so it only fits on one vehicle).
It takes a certain level of experience as well with the network to make the statements you have made (valid though they are). New folks (self included) may not be so confident, which is where having direction from NIP helps.