Campaign is not directly related to contact but when i try to create a report type after selecting the campaign directly i am able to select contact object. can anyone please explain how i am able to select contact directly under campaign?.
as far as i know, i think you created the campaign member but not campaign.
Please refer this link under USAGE headings,
I think its feature provided by Salesforce to reduce the report creating effort of admins.
The relationship is like
Campaign <--- Campaign member (junction member) ---> Contact / Lead
So ideally we should have option to select only Campaign member (junction member) but for better usability Salesforce have provided Contact / Lead as option which is more meaningful and useful .