I get that it conforms to the strict ISO rules, but why?
There are different operating systems behind the various servers on the net, and for some of them a directory or file named
page is not the same as one named
Page. The result is that those really are two different locations and not even necessarily the same type of location(dir/page). The web server might be configured as case-insensitive, but you can't assume that. Therefore, the rules have to assume things do care about case and if they don't then whatever. Realistically, it's probably not a great idea to rely on case differences, but the situation does exist and so it has to be accounted for, sometimes with things like mod_speling.
How many websites are there out there that actually treat page and page/ as different url's you can visit?
They are different. It's just almost always hidden from you:
- When you go to
example.com/foo/ the web server is aware you're going to a directory, and so looks for a file in there matching whatever it's configured to recognize as a directory index. So eventually you end up at
example.com/index.html for example.
- If you go to
example.com/foo the server does actually look for a file in the root directory named just
foo. If it doesn't find one, then it checks if there's a directory named
/foo and you can go up to #1.
What you seem to be reading as "normal" behavior in #2 is actually a fallback to handle a likely case.
How many do use extension-less filenames is irrelevant. Again: real problem; needs to be accounted for.
If they did I would tell them they are probably doing it wrong.
That is an opinion.
You can back it up with various practical arguments about case-insensitivity and how to handle extension-less URLs that I don't necessarily disagree with, but factually you would be wrong to say this.