If Cycles is Physically Based, Why Doesn't it Calculate Fresnel Automatically?
Cycles could have a shader with in-built fresnel, in fact one is being worked on: https://developer.blender.org/D2313

The reason fresnel is a separate node used to mix diffuse/glossy shaders was an intentional design decision to allow more flexibility when putting shaders together. It allows you to mix shaders in any way you need. One problem with this is that a lot of the time you need to combine shaders in the same way. The alternative is an "ubershader" that combines everything in one black box, such as the Principled BSDF shader in that patch link. By adding the Principled BSDF as a shader node you'd have a single node when you needed a general-purpose physically based shader, or you can choose to roll your own shader combinations if you need more control.

The drill down into your core question of "why doesn't it just happen?": you don't just code "do things physically" and BAM, the renderer is realistic. You need to code each step of the rendering process so that it behaves the way real light would. In the case of Cycles shaders, this step is (currently) left to the user.