So the answer is there is no difference at all. Each one of these above mentioned software are running the Asterisk as core telephony engine and front end as FreePBX moreover trixbox and Elastix has modified the look and feel of free open source available freePBX. (http://www.freepbx.org) and has created their own version of front end tool.
now the question which one is best to use, so the best and trouble free is plain asterisk that you download from asterisk.org and compiled it as its exactly contains what you need and you don't get unnecessary software packages and binaries like in case of trixbox ce and elastix where you get many un-used packages that you don't even requires in some cases for example MySQL, Apache, extra Sound files and there are many more.
Moreover my experience with trixbox is, its mainly run several AGI (Asterisk Gateway Interface) scripts that are developed in PERL language and if overloaded it crashes frequently and on main dashboard it also show you wrong indicator of CPU usage and you keep on restarting your server (in case if you are newbie) where actually there is no such issue with CPU load.
To have a survival skills to run asterisk base system you need to be average computer programmer because when you design your dialplan (heart of asterisk). It has its own scripting like language and have computer programming like language constructs (variables, expressions, if -if then else statement, sub-routine) etc.
other then this you also need to be good Linux administrator that can perform basic task as well.
Asterisk is daemon service that run on Linux so to run the service you need to be able to perform operating system maintenance task.
If you are working for a call center/customer contact center, you must have also RDBMS skills as well to maintain the CDR (Call Detail Report).