At face value GPLv3 seems more constrained - so it's easy to relicense an existing v2 project. You just tell everyone working on it, okay, now every addition we make has extra requirements (if you want the looser version, you can grab an older copy of our project from when we switched licenses)
Loosening the license on pre-existing code is sorta like if you wanted to make the project (like the Linux kernel) BSD. You'd have to have everyone who has already contributed to agree to loosen the license on their work. If one person thinks "Hell no! I want people to be severely punished" then you're in for a headache.
So then GPLv3 isn't a "superset" and compatible GPLv2? Or did am I misunderstanding something?