Because it lack reliable recovery.
As you said, Weezing is a really good Pokemon who's unique resistances and immunities make it invaluable in many teams. With access to many good defensive moves it truly is a good wall, but it lacks one valuable component, healing. Bar Leftovers/Black Sludge, Rest and Pain Split Weezing have no way of healing, meaning it is extremely prone to being worn down, and take considerable damage from Stealth Rock and switching in general. This one critical flaw make Weezing overlooked by many whilst making a team, hence its low usage and low tier placement.
Source: Experience trying to use Weezing competitively.