You should already smoothed out the difference and now there is no simple answer as to what this engine is worse, and this is better. They are all about the same in terms of functionality, capabilities, etc.
Rather, there is a difference in code quality and degree of support from the developers. 've already poetically here, I'll just clarify.
Commercial engines assume that by purchasing their product, you will receive a communication channel directly with the developers. Thus when difficulties arise, it is possible to them to consult or seek assistance. In fact things are not so rosy, often, product support is lame, even if you paid the money. And tasks solution is performed for money. About code quality and documentation - everything is not very rosy.
Open-source (I don't like the word free, it's not the same) - is engines with open code that can be downloaded is usually free of charge and without any restrictions use to implement your project. Often the quality code and documentation in such projects is better than in commercial, purely due to the fact that it is open-source. That is, there will always be people who will find shoals and crutches, correct them, describe, etc. True for large and well-known projects. But with support for more difficult - you can only find it from third parties, or on the forums and on the Internet. There could be as lucky with the quality. And to push the problem to tech support too often do not succeed - you have to be ready for it.