I have been using Asterisk for about ~10 years, and always compiled from source and always used CLI. Its simple, flexible, easy to maintain and "solid". For a brief period of time, I used Trixbox. It was nice and shiny for a while, with all the bells and whistles from an "out of the box" distro. But it wasn't long when the thing broke down. I don't know if it was my careless edit or something spooky, but it stopped working. As an emergency repair, I simply re-installed asterisk from source as usual (1.4 that time), using my own handcrafted config files. This setup is still in server as of Today (Sep 5, 2014).
just recently tried 'pbxinaflash' with 'incrediblepbx', mostly because of security ('fail2ban') and to try some other interesting features (such as google voice, and other call routings). Quickly after the installation, I got locked out by fail2ban firewall when I typed incorrect password twice. Finally when I reached the GUI, it looked good (as expected). Struggled with GUI menus for several hours to get some functionality to work. Finally had to resort to editing custom.conf files to get most of stuff in my .conf files replicated. Still was not able to setup trunk. Removed it in frustration. (Oh, the 'pbxinaflash' has lots hidden paid features that are installed on trial basis).
The main issue I have with all the GUIs is that they take control of your .conf files, splitting them into multiple sub files, and allow you to edit only a few of them. This hides a lot of simple stuff under multiple GUI menus. e.g if you need to enable tcp, you would need to edit 3 lines in sip.conf in raw asterisk. On GUI, that needs visiting about 2 menus and editing a config file. My ideal GUI would co-exist with plain .conf files, seamlessly co-existing with manual edits, and still allow easy GUI for things where GUI is really needed, such as call routing etc.
Anyway, I am now trying FreePBX and AsteriskNOW (both use same GUI), while my good old asterisk 1.4 is still quietly doing its job close by.
If anyone is interested I can post more updates.