Cordova or phone gap create the wrapper that will encapsulate the html app that you will build so that it works on different smart phone devices like ios and android. with Phonegap you will be able to take the app that you build and then package it to make it installable on these platforms and use their resources.
Ionic fit its your UI layer to help you build the look, while angular would handle the rest, http://coenraets.org/blog/2014/02/sample-mobile-application-with-ionic-and-angularjs/ has a good diagram on how they fit in.
When i first go started with phonegap i thought there was really a lot to it that i had to know but within a few hours of playing with the console i had packaged my first html app. go through the tutorial that are on phonegap on their site and you should have at least 30% covered.
I would say you need node,js, phonegap, android sdk, a good text editor (loving brackets), ionic and (i think ant on windows) and you pretty much have the tools to start building apps the rest are the skills that you collect on Angular and Ionic Interfacing.
when you use the console for the ionic starter templates you pretty much have a phonegap and ionic + angular app backbone template