It's interesting that this downside wasn't even on the radar of this article in 2011, and indeed no serious consideration of possible downsides was presented at all, just a snide dismissal that "anyone who has tangled with the anti-fluoride campaign will realise that lithium lobbyists will have a long, hard road to travel."
The built-in reports are kind of nice, and the fact that you can define your own "reports" (really task lists with custom columns) is also nice, but it'd be even better to be able to be able to just throw SQL directly at it. There's a TaskWarrior-inspired utility "Tasklite" that does just this by storing tasks in SQLite, although I haven't tried it myself yet. The Tasklite criticism of TaskWarrior is also worth considering: https://tasklite.org/differences_taskwarrior.html
You can get tasks out of Taskwarrior in JSON format with "task export" and there are scripts to further transform this into other formats, but you need to do an extra step to import this into another tool for any analysis you might want to do.
Reports like ghistory.daily and ghistory.weekly can get long and unwieldy. There are ways to deal with this, but it's annoying, and makes me question if the developers themselves are using these reports on a list of completed tasks going back several years or not.
Taskserver is another area that seems poorly thought-out and over-engineered, similar to recurrence, and I'd caution anyone considering using Taskwarrior on more than one computer to look over the Taskserver Setup guide at https://gothenburgbitfactory.github.io/taskserver-setup/ while noting the following:
* Just copying the files around between Taskwarrior instances e.g. with Syncthing or something like that mostly works, but a lot of tools/attempts at mobile apps for TaskWarrior rely on having TaskServer. The sync issues noted in various places by using a file-level sync like this are definitely possible, but the practical implication for a task list that most likely belongs to a single individual is questionable.
* Per the guide, "There are two 'D's in TASKDDATA, and omitting one is a common mistake" in reference to an environmental variable defined, as far as I can tell, entirely within this document. Naming things is hard and this is admittedly a small detail, but why not remove the pitfall rather than just warning about it?
* You will need a CA certificate to "to sign and verify the other certs" -- "The command below will generate all the certs and keys for the server, but this uses self-signed certificates, and this is not recommended for production use. This is for personal use, and this may be acceptable for you, but if not, you will need to purchase a proper certificate and key, backed by a certificate authority."
* "Certificates coming from Let's encrypt have not been successfully used by anyone. Please remember that Let's encrypt only generates servers, but we need a client certificate as well."
* This is rather a lot of work just to be able to _add tasks on your phone_ while you're away from your desk or even just to sync tasks between what might be two or three desktops, and it's pretty clear they had more of an "enterprise environment" or a hosting service like InThe.AM in mind when they wrote it. Regarding that particular service, it is open-source but "Setting this up locally as a clone of Inthe.AM is, unfortunately, not supported" - https://intheam.readthedocs.io/en/latest/
By contrast, there's another project dstack which is also Taskwarrior-inspired but "uses git to synchronize instead of a special protocol" at https://github.com/naggie/dstask -- this is also something I haven't tried it myself yet but it looks interesting, although doesn't itself help with getting tasks on/off a phone as far as I know.
The labeling on the horizontal axis on the chart is terrible, but roughly this is a change from 20% to 95% in about 2 or 3 hours. It doesn't look like they ever had it at less than 15% (again, give or take a few points due to bad infographic-esque picture).