From a functional point of view, there aren't. Version 4.0 has some features that make it easier to support internationalization (easier to translate, for example).
Functionally v4b03.x is the same as v3.3.03, but it is internationalized. All strings are taken out to a single file and translated by many people to other languages. So you can use multiple languages for the user interface also.
See the link in my signature for further info. Also read the readme.txt file of v4b03...
If you do not need internationalization capabilities, stick with v3.3.03, because v4 is in beta stage.