I'm not an expert on this, nor do I play one on TV (I don't even watch experts on TV for that matter), but this is my experience after shooting all three calibers for about 4 years now.
I like the 9mm for target practice. Cheap ammo and good accuracy. Although I wouldn't want to be on the wrong end of one, I want something bigger for home defense. I like the Browning HP or the CZ-75 for target work. I've tried the USP 9, but the trigger is not smooth enough for informal bullseye shooting.
I like the power of the .40 Auto for defensive use, but the ammo is more expensive than the 9mm and I have a hard time shooting it accurately for target practice. I haven't determined whether the accuracy issue is with the shooter or the cartridge, but I'm leaning toward the cartridge. I've done a lot of hand loading and bench rest tests.
For my home defense gun, I've selected the USP40 equipped with a laser sight. It fits in the night safe, but not a holster. I figure that I'll mostly hit what I'm pointing at with it and I have 13 round mags to make up for those shots that I do miss. I also carry a SIG 229 40. I like its size and fit in my hand, although it is much more accurate with the 357 SIG cartridge.
In defense situations, pinpoint accuracy is not as important as good enough accuracy and power. So I think that the .40 is an excellent compromise.
For both accuracy and big holes in the Bad Guy, the .45 ACP fits the bill. Unfortunately, it is also the most expensive to shoot and carries fewer rounds than either of the other two choices. If I had to choose only one to do both target and defensive shooting, I'd go with the 45, keep several extra mags for reloads, and practice enough to reliably hit what I'm aiming at.