I'm currently developing a flex+smartfox mmo project.
my experience with smartfox is not so "easy", if you need some custom behaviours or some bandwidth saving protocols you just have to choose another way.
the great lack of smartfox is amf support, the data is not sent and received via a binary socket, everything is transfered as a string, so you can only imagine how bandwidth sucker the transfer is...
however the plus of smartfox is you can cluster it quite easily via terracotta and can you can implement your extensions in java, python and as3. further it supplies some ready to use functionalities such as chat rooms, friendlists, etc..
I have some experience with red5 too, it's a completely different approach, the main plus of working with it would be streaming assets such as mp3 or video to the clients, so if you need ambient sounds or something similar red5 or fms could be your choice.
however I don't have experience with electroserver nor union, so i can't say much on them.