Refraction bending with planar surfaces in Cycles (2.78b)
On first look it might seem that refraction on planar surfaces will not distort the image, but just linearly bent it or zoom it:



In real world there are very few examples where the distortion is clearly visible, one of them being refraction on water level:



(Thanks to @RichSedman for pointing this out and patiently making me dig deeper to find the truth and how it works.)

Refraction follows the Snell's law. This means that for every IOR value there exist a critical angle after which the ray won't be refracted but reflected:



We can see this in the above pictures, where the refraction is surrounded by the reflection of pool or sea bed. We will return to this (in Cycles) later. What we also see is the distortion of those refracted rays, so lets tackle the distortion first:

It's best to start with reflection analogy. Reflection is much simpler - the angle of incidence is the same as angle of reflection - their relationship is linear (unlike with refraction). By tracing the reflected rays, we can construct a single(!) virtual viewing point B, from which we see the reflected image:



Doing this with refracted rays (and drawing them in CAD with Snell's formula) reveals, that the rays do not intersect into a single virtual viewing point, but into infinitely many of them (because the relationship between incidence angle and refracted angle is not linear). This means that every piece of the refraction we see from different perspective and that is the reason for the distortion (every 2 rays create a virtual viewing point in different location):



Now let's see how this behaves in Cycles - left how it changes with distance to camera (single refractive quad with IOR 1.3) and right how it changes with IOR (1.0 to 2.0):



This is physically correct behavior. By knowing this you are now able to create a panoramic fish-eye lens camera from simple perspective camera and a refractive quad (if the engine can do refractions but has no such camera option:)

But what Cycles doesn't do on it's own is to change the ray from refractive to reflective after the critical angle just with the Refractive shader (naturally) - it is just black. For this there is the Fresnel node that after the critical angle gives 1.0 mixing factor to mix in Glossy shader:



The glass shader has all this already build in.