If you use Ad Extension at the Campaign level, then extensions show for any Ad Group that doesn't have its own Ad Extensions.
If you have different types or category of Ad Groups then you must have to use Ad Extension at Ad Group level.
Hope you understand my point.
If still there is any doubt, then please reply me back.
Aslam is right, I want to give you a tip: adgroup extensions should work better because you can personalize your ads and make them more specific and relevant. On campaign level you can add only general extensions like phone number, because it match to all your ads.