1) Servers were swamped and had difficulty scaling to match performance to users resulting in downtime.
2) Not enough skill curving, it made being a casual very difficult because you would get stomped in gyms/battles.
3) Not enough mitigation against GPS spoofing/cheating further killed the incentive for casuals.
4) Over-monetization resulted in pay-to-win conditions.