Agree! None of these specifications are required to be implemented. They are there to cover the use cases outlined in the specifications themselves, so feel free to pick and chose which ones to follow. Obviously it's better for the open web if you use them when you're implementing something for your use case, rather than coming up with a new specification that is similar but incompatible.
But as you say, if you're implementing something that doesn't require global identifiers in a decentralized/distributed context, don't use DIDs :)