CQC. I really had no clue when I started and just started poking around. I was all set to buy HAI when I stumbled across CQC. When I realized that you could write your own interfaces (drivers) to connect to anything that can be communicated to using TCP, classic serial, USB, file based or whatever, I was sold. Add to that the ability to develop custom user interfaces and the distributed architecture it turned out to be a very solid system. Now, add to that the user community and the access to the developers.... how can it be beat?
As mentioned elsewhere, the drawbacks are that it can be a bit overwhelming for a new user and there are limited development personnel... both of which are minor. And... oh, BTW, it interfaces with HAI (or ELK) so I can still go that way if I so choose when I upgrade my security system.