Don't forget, this is only one of two contracts Pujols signed with the Angels. The second one is a ten year Personal Services Contract which kicks in for ten years after his current player contract ends. It states that he cannot be seen in public, in pictures, video, etc. wearing any logos or other identifying "marks" from any other MLB team. This means it will as if he never played for the Cardinals. It, too, is a very lucrative contract to ensure his compliance (if he wears a Cubs hat in public, the contract is immediately voided).
All hail The Rick