To be fair, you can just point to the `stable` repositories in the `/etc/apt/sources.list` configuration file and simply just refer to your install as "Debian Stable" ('s/stable/testing/g').
However every few years there might be a not so "stable" update around the new release.
It's not for me, it's for when I get bug reports and I need to decipher what flavour of linux, what release of the kernel, what libc etc. "I'm running decrepit duck" doesn't really narrow it down too much. Especially when multiple distributions use these jovial monikers.
I think Ubuntu strikes a good balance— goofy, lovable names, but a clear alphabetical sequence. Robot operating system (ROS) inherited this approach with its naming as well: https://wiki.ros.org/Distributions#List_of_Distributions
Every now and again I have to translate between a code name and a version string, or between a version string and a code name, and I think 'why on earth am I having to do this lookup work as a human?'
I feel like there are scenarios where it's convenient to have a plain text string that is certain not to gum up parts of the system that would choke on punctuation or a leading digit (see for example this package-mapping yaml: https://github.com/ros/rosdistro/blob/master/rosdep/base.yam...). Of course, Fedora 19 is codenamed `schrödinger` including the unicode character, so that's been an interesting experiment in ensuring that all the systems which ingest and process the codenames can handle that.
Anyway, the obvious thing is that a codename is more fun and memorable than a number; it's something to hang marketing and such off of. Presumably this is why MacOS versions have always had public codenames since 2002. But I think the practical reasons are valid as well.
Ubuntu is the most simplest.., 20.04 means it was released in april 2020. Windows 2004 means it was finalized in april 2020, but released some times later (may? june? who knows).., plus they both try to release every 6 months and in case of ubuntu you know that even aprils are LTS, so it's always predictable to know what's the latest version.
mac 10.15 means what? and the next release is gonna be 11.0. someone who doesn't follow or use macs has no idea to figure out if the latest version is 10.15 or 10.14, or 11.0...
That “some reason” is compatibility. macOS has been on 10.x for 20 years now, and there’s a LOT of software that breaks if the reported version number is 11.0. IIRC early betas inconsistency reported either 10.16 or 11.0 depending on where you got the version number from, but now the version number exposed to an app depends on the SDK version the app was compiled against: old apps see 10.16 and new apps see 11.0. See https://eclecticlight.co/2020/07/21/big-sur-is-both-10-16-an...