> Why? Why do I need to use 3rd party package managers, or manual installations from 3rd party sources to install common tools that aren't a decade+ outdated?There actually is a reason. It's not lack of maintenance.
It's because Bash 3.2 is the last version licensed as GPLv2. Bash 4.0 and later changed license to GPLv3.
Apple decided it's not safe for them to ship any software with GPLv3 with macOS, because of stronger legal conditions in GPLv3. This is also the reason they stopped updating Samba.
They changed the default shell to Zsh long ago. The old Bash is kept around, so that users who want to stick with Bash can still use it as their shell, and so that existing scripts for macOS (for example in installers) continue to work. If nobody cared about Bash, I expect they would have dropped it from macOS when switching to Zsh, rather than keeping the old version.
So from a certain point of view, Bash 3.2 is the most recent version they can ship.
As for other tools like "cp", "ls", "rm", "touch", etc. I agree they are annoying on macOS, when you are used to the versatile GNU/Linux command line options. I sometimes type options after filename arguments due to habit on Linux. macOS commands very annoyingly treats those options as filenames instead. And I miss options like "touch --date".
However, this is not due to old tools. Those differences are just how up current (up to date) BSD commands work. They are just a different unix lineage than Linux.
The GNU tools were intentionally written to be more user-friendly than traditional UNIX™ tools, which is why the command line options are generally nicer. GNU/Linux systems come with GNU tools of course. macOS never did because it is derived from BSD and comes with BSD tools (with Apple enhancements, like "cp -c").
You get the same on most other unix environments that are not GNU/Linux. People install the GNU tools on top, if they want the GNU command line experience instead of the default. Sometimes with the "g" prefix (like "gls", "gtouch" etc.).
These days, even if Apple decided it's worth the technical fallout of switching from BSD command line tools to GNU, they wouldn't do it for the same legal reason as what keeps Bash at 3.2: The current GNU tools are licensed as GPLv3.