You mention two advantages:
One advantage is that this way one can have different login cookies for the different domains.
Well, that only makes sense if you have two accounts or want to test something. for the majority of the users and guests this is of no use. I'd rather have one single subdomain testing.perlmonks.org for things like that than 5 different domains that all look like live domains.
The other is that this way we can make people use relative links when they link to a writeup from another
I don't understand that. You are saying that because
there are 5 different (sub)domains, we can have relative links? That would imply that once we only have one working domain we couldn't have relative links any more?
I think you rather mean: "The different domains are no problem because we have relative links" instead of "We can have relative links because we have different domains".
So, this is no reason to have several domains.
And if you link to perlmonks from outside (from other sites, from IRC etc.) then you regularly get a link to the domain you are not
logged in at the moment. To read the article in your favourite theme and to vote on nodes you have to repair the link to use "your" domain (the one you already have a session cookie).
I can see no good reason to use all those domains. I would add an apache rewrite rule to www.perlmonks.org depending on the host. And if really necessary, add a "testing" subdomain for using two different accounts at the same time.