Can anyone in detail explain how cv and cv2 are different and what makes cv2 better and faster than cv?
there is no question at all, - use cv2
the old cv api, that wraps IplImage and CvMat is being phased out, and will be no more available in the next release of opencv
the newer cv2 api uses numpy arrays for almost anything, so you can easily combine it with scipy, matplotlib, etc.
I've recently started using openCV in python. I've come across various posts comparing cv and cv2 and with an overview saying how cv2 is based on numpy and makes use of an array (cvMat) as opposed  to cv makes use of old openCV bindings that was using Iplimage * (correct me if i'm wrong).
However I would really like know how basic techniques (Iplimage* and cvMat) differ and why later is faster and better and how that being used in cv and cv2 respectively makes difference in terms of performance.
Thanks.