If you uses ftp-map, then the inspection is specific to just the ftp protocol. Same goes for http, where it is matching on http application specific, as different application has different application format, ie: ftp and http are 2 different protocols that have specific application feature.
With the normal class-map, it is normally just matching on source/destination ip address and/or protocol and port number.
Hope that helps.