mobile_wap template is designed for very old phones. It's based on wml (not html) markup that doesn't support css at all.
mobile_imode is designed for old phones that uses "compact html" markup. Compact html is subset of html4 and it's also has no css support (or it's very limited).
All modern phones get smartphone template, and iPhones get iphone template.