Catch off guard only works if the opponent doesn't have a weapon or is otherwise considered unarmed. This won't work against a monk since he is considered armed, even a wizard wouldn't suffer from it as long as he had a staff in his hands. The primary benefit is that you don't suffer the -4 penalty for using it but it deals so little damage that it could hardly be considered useful. Only the rogue can use it and the rogue still has to flank in most cases.
The shield feats are extra trick feats to help fix the fighter. No one else would spend the prerequisite feats. Shield master requires 4 prerequisite feats. The fighter was woefully underpowered and this is an attempt at giving the fighter more options. The barbarian could do it but I can't see a reason why you would, nor can I see the paladin or the ranger taking those feats.