compact flash not really purely flash memory in nature. the specification makes it a mini pc card (laptop), that's why you see so many pins. that's also why you can find so many non-memory devices that implement the compact flash formfactor.
SD\MMC is the same family in terms of ownership. they are not inherently interchangeable. mmc support does not guarantee sd support. but sd support should necessarily guarantee mmc support.
both media have the memory controller built in, so expansion is not a problem. ie, you should be able to use a larger card no matter what. though, this has proven to be not true with cheap devices which do not implement the specification properly. this is a stark contrast to smart media and it's xD replacement. smart media and xD do not have the memory controller built in. so, basically, if the device does not support larger capacity cards, you're out of luck.
xD and sd are competing standards. i would consider them comparable in size. though xD is smaller. sd was supposed to replace compact flash. xD media is very plentiful in retail stores. the relation of media families are really about the companies backing them.
also, compact flash is huge. i would not get compact flash unless i had to. sure it's cheap, but that's not my only primary concern. I use a 256MB SD card on my dell axim (lexar, not sandisk). the compact flash slot is being used by a wifi adapter =D