Depends on tier, to be honest.
Uber: Lugia, without a doubt. 106 / 130 / 154 is disgustingly difficult to take down, especially when it can remove its weaknesses to Rock, Ice, and Electric through Roost. It often does this before the opponent attacks as well, with its excellent base 110 speed. If you want, you can use a boosting tank set with CM, and it can always phaze with Whirlwind. It wins over Giratina because of the simple fact that it isn't weak to as many common attack types in Ubers. Arceus, while it does have higher HP, has lower defenses and must be EVed and typed according to what you want it to wall. Moreover, its inability to use Leftovers (unless its normal type, which is not good for walling), hinders its ability to wall.
OU: Suicune, hands down. While it may seem outclassed by Cresselia, with her monstrous 120 / 120 / 130 stats, the key lies in Suicune's other stats and typing. Water is an excellent type, both offensively and defensively, which allows Suicune to have only 2 weaknesses (both of which are typically special). It can easily wall and even sweep with its CroCune set, or just choose ResTalk + 2 attacks to counter particular threats. Cresselia, despite higher stats, is worse for several reasons. Moonlight isn't all its cracked up to be, especially in today's sand-based metagame. Its weakness to Dark means that it is unable to do much against the omnipresent users of Pursuit. Finally, Cresselia must rely on status and other disruptive moves to wall - its much lower special attack renders its attacks ineffective unless super effective, meaning that it normally just sits there taking hits until the opponent can finally work around it.