Well, if you are looking to develop for a widespread range of devices then you definitively will have to write normal webpages and then fix tiny quirks on a per device basis.
BlackBerry APIs are a superset of J2ME but it's quite expensive to send an app for testing and signing (so you can actually release it).
Symbian S60 is a quite a different programming paradigm in C++. Everything in the APIs is async and the APIs are quite opaque. Signing applications on this one is also ridiculously expensive.
Windows Mobile is very nice to develop for with Visual Studio and all but you'll still find quite a few inconsistencies and APIs missing.
Android is a really nice Java development environment, but again the UI model and the application paradigm is different to every other platform. On the other hand the costs to get an app in the Market are almost neglectable.
Finally iPhone also has quite a nice dev environment and also quite a big hype right now. Getting a developer key is affordable but getting it to the app store might take some time. Also you need to bear in mind that you will have to use Objective-C and Cocoa, a language that's mostly only use in Macs these days.
All in all, go for web if you can. It won't look as nice but it will capture most of the devices out there. If you actually need platform specific stuff I would pick iPhone, Android or BlackBerry.