What's the purpose of the EEVEE rendering engine?
You can read this code.blender.org post describing the development goals for Eevee: https://code.blender.org/2017/03/eevee-roadmap/

In short, Eevee is meant to be a modern, high-quality viewport that will perform better than the current Blender viewport, and can better approximate the shaders for game engines or renderers such as Cycles. It will also be able to function as a final renderer in its own right, removing the need for a dedicated scanline renderer such as Blender Internal. Since it is GPU based (using the same render techniques as game engines) it will be very fast, rendering in seconds or fractions of a second.

You can use it as an alternative to Cycles if you prefer the speed, or use it as a preview of Cycles for when you need the extra quality of path tracing and don't mind waiting around for it. Since the renderer is very similar to game engine renderers, it is also very useful for prototyping game assets before sending them on to engines such as Unity or Unreal.