I think this (and the overall discussion) cover it better than I ever could in a single post: https://news.ycombinator.com/item?id=30172268
However from a personal level the main two ones for me are the poor quality of its codebase and the lack of care or common sense around the official plugin repository, bordering on outright incompetence on their part for allowing unvetted and highly dangerous plugins to stay on the official repo.
Honestly as a developer for going on 20 years in a professional capacity I physically recoil at the absolute awfulnes of the codebase.