I\'m pretty new to OpenCV (about 2 months now). I have the book Learning OpenCV by Bradski and Kaehler. My question is, if I want to do everything in a 2.0+ manner, when sho
I'd suggest Mat. The garbage collection is automatic, and thus the application is more reliable and has fewer memory leaks. Also, Mat is a newer way of data storage, so if you are a newbie, just starting off with OpenCV, Mat is newer, and requires less careful coding to make a complete application.
Compatibility is one thing that Mat will be a tad worse in. IplImage has been available longer and thus, has a greater compatibility with most things. I believe you can use IplImage with Mat too, and if not, IplImage>Mat is also quite simple to perform.
Since Iplimage has been available for a much longer period of time, you will probably find a greater selection of samples.
Here are my two cents: As a rookie(still learning tricks) in vision processing with OpenCV, pick one, Mat or IplImage and get really good at it. However, learn at least the basics of the other so you know what to do if you need to use a function that doesn't not compatible with the other.
But to repeat myself, if you are a newbie, try to start with Mat. Since it is a newer implementation, it is easier to learn and get right!