Drupal Core is basic enough that you can wrap your head around it in 10 minutes, but Core isn't going to give you a very useful site. So, you need to start adding in modules, often with their own incompatibilities and APIs (ctools). And then things start falling apart.
The code to create a node is simple. The code to create a node with a term reference, two field collections, and images copied from the filesystem is considerably more complicated, poorly documented, and prone to throwing weird errors.