CompactFlash cards are generic cards for storing data. They have an ATA block device interface to the host device, and they're usually implemented using either NAND flash memory or a tiny hard disk drive called a Microdrive.
CF was one of the first standards for small (less than credit-card size) portable flash memory storage. It was designed for electrical compatibility with 16-bit PC Card in a smaller form factor.
All CompactFlash memory cards have integrated disk controllers, making them much cheaper to integrate against.