Today, USB (Universal Serial Bus) is de facto standard for communication between devices and computers. Main advantages of USB are price, speed and possibility to power devices via USB.
Using USB with DMX it usually means that:
Only possible disadvantage is that with USB it’s little harder to make custom software for your DMX interface if you do not have some kind of API. With RS232 you can communicate more easily via a serial COM port (well you can do same with USB, but…).
Today, RS232 DMX Interfaces are rare. Modern laptops usually don’t even have RS232 port, but you can buy USB to RS232 (or you can simply buy USB DMX Interface :)).
RS232 interfaces require external power supply (usually 9-12Vdc).
Without official support for custom DMX software programming, theoretically you can program them more easily than with USB…
If you don’t have a good reason, don’t buy RS232 DMX interface…
MIDI DMX interface is designed to control DMX 512 with MIDI channel messages.
The main problem with this idea is that MIDI messages have resolution of 7bit (2^7 = 128) and DMX channel has 8bit (2^8 = 256). You can use pair of 2 MIDI messages to achieve 8 bit resolution of DMX, but is it really worth it?
Again, if you don’t have a good reason, don’t buy MIDI DMX 512 interface…
I guess there are many weird types of DMX Interfaces. Probably there are parallel ports DMX Interface. They would not be as hard for custom DMX software programming... Perhaps there are blue tooth DMX interfaces? Maybe even interfaces that use Wi-Fi (802.11) or some similar technology... But again... do you really need this?