I’ll give it a try:
Pros:
- easy to learn
- plenty of examples
- large community, lots of third-party plugins
- good documentation
- great performance
- PBR rendering
- support for most of the popular model formats
- Has own editor
Cons:
- No deferred rendering pipeline, only forward. This makes a lot of modern rendering techniques impossible/infeasible to implement with three.js
- Not a game engine. If you’re looking for features beyond rendering - you wont find many here. (notably: Physics, Particles, Input, Sound, Asset Management, Scripting etc.)
- API is geared towards novices, many advanced features are hidden from the programmer.
- If you use three.js, other kids will get super jealous and stop playing with you
- You will start developing complex applications with so little effort that you will not be challenging yourself, this will make you bored and you will gradually lose your skills