There are lots of options for controllers, but honestly it makes little difference as the all function similiarly. The choices come down to how much power they can handle, and what options, such as cruise control and regen, they have.
Power on a stock controller is a function of the number of fets they have. Given in multiples of 3, the more fets a controller has the more power is it can handle. For example, a 6 fet controller can do substantially less than a 9, 12, or 18 fet controller. Upgrades can be made such as beefing up the traces and upgrading to higher quality fets, but it's almost always cheaper and easier to just upgrade the controller.
Voltages for controllers is limited by two things; the hardware components in the controller and the software. On the hardware side you have have the voltage rating on the caps and other components. On controllers that are not software programmable it's some times possible to switch out resistors to get it to function at the voltage you require. On the software side you have a programmable LVC. The low voltage cut off is the point when the controller decides the battery is empty and shuts off to protect it. This can be confusing because different chemistries have different LVCs. For example, "48v" lead acid is different than "48v" lithium. If you can't program the controller, make sure to check with the seller if it will be appropriate for the battery you're using.
Lyen controllers from ebike sized to motorcycle sized
As of 2011 there are two controllers that are programmable via USB - these are the popular controllers made with Infenion chips (and copies of Infenion chips) and Kelly. The Infenion controllers aren't a made by anyone company, but all use the same series of Infenion micro controllers. Most (but not all!) controllers sold by major retailers are Infenion, and can be easily modded to re-program. Please see my page on programming for more info.