I'm so sick of Intuit, and I got burned badly when I bought into their 3-year obsolescence cycle. In case you're considering Quicken or Quickbooks, DO NOT BUY IN. They have designed multiple kill-switches into their software to disable key features after a time delay. Specifically, you will not be able to download transactions, import them from a file, or export them - after 3 years.
I got ledger, and within a day I had written the code to grab my transactions and import them. It's a little strange, but it won't ever become obsolete due to the capricious and profiteering whims of some company.
Ledger is great. It's for hackers.
care to share?
One more cool thing: look at the TODO file in the planning branch of the source checkout. Pretty solid-looking example of how to do bug tracking using org-mode.
If you need something more customized, the python integration coming in HEAD gives you access to the internals without having to speak C++. It's still not quite done, but it'll give you enough power to do whatever you want.
Gnucash is polished but extensibility isn't too great. Command line seems a bit too much on the other side of the spectrum.
As I see it, ledger has two excellent interfaces: text files (i.e. the ledger itself, where the transactions are stored) and the command line. You extend it with anything that writes to text files (that is, anything at all) and you script it with anything that executes commands (bash, python, makefiles, you name it).
In my case, I added on a transaction downloader/importer that simply extends the text file aspect. I use other people's scripts to actually generate reports, from that point on.