Unix philosophy: make a program that does one thing well
Linux users: ok so if you want to copy a directory preserving metadata, you should use this sophisticated remote sync program with its own protocol for communicating on sending and receiving side, compression in transit and a thousand other options
I know it's just practical to maintain this one tool that covers all of this related functionality, but every time I use `rsync` for non-remote stuff I feel like I'm taking an excavator to pull out a nail.
Same with `wget`, and probably there's a lot more programs that have *much* larger capabilities than the simple tasks I use them for and I don't even know it.