IplImage
came from the Intel Image Processing library, according to the docs:
http://opencv.willowgarage.com/documentation/basic_structures.html#iplimage
This question also addresses the CvMat
structure, which may be of note to you:
What is the memory structure of OpenCV's cvMat?
As regards which is more beneficial: while there may be slight speed differences here or there with either CvMat
or IplImage
in various contexts — it depends on what you want to do. E.g. do you need to share a matrix structure in memory? Do you need to efficiently serialize, or search, etc? The application matters.
(Theoretically, one advantage offered by IplImage
is that due to its pedigree, it's generally more compatible with existing implementations, as you noted.)