Look at the page source for any WP-generated page: all A HREF and IMG SRC and SCRIPT SRC tags are generated using absolute links. Even when it’s to the same pathname on the same server hostname.
So if I have a WP server and the hostname is thisismywordpress.testing.example.com and I put some content under /testing/project/ there is a potential extra chunk of text (https://thisismywordpress.testing.example.com/testing/project/) on every link, adding to the page size (more work for the server, more data transfer, more work for each and every client, more time wasted by every visitor).
If you are thinking “oh, it’s only a few bytes”, please skip to the the next thread: it all adds up, and for someone on a low-RAM device (let’s say a mobile phone) it could mean the difference between a usable site and a source of “out of memory” errors.
Is there any way to make WP use relative links where it can for all generated HTML output? Even something as simple as removing the hostname where it is on the same host would make moving from one server to another more painless.
I understand that for images and templates etc, stuff has to go under /wp-content/ or other fixed directories, so fully-relative links (using ../../foo/) may not work. But they don’t necessarily work for static HTML websites either.
As for moving blogs or pages (or whatever other content, be it WP-generated or static and uploaded), if my testig project will end up on https://thisismywordpress.com/project/ that is 2 move types, moving hostname and moving directory. And, as the testing may be in phases (some private-access, some public-access), those moves may happen at different times or in a different order.
For moving content around: as jberghem said, it should still be possible to do what deanes02 wants to do, using links that are relative to the root.