Light Functions are, in essence, a Material that can be applied to filter a light's intensity.
It should be noted, however, that you cannot change the color of lights using a Light Function, only the Light Color setting can do that. Also, Static Lights cannot use Light Functions, as this feature is only available for non-lightmapped lights, like Stationary and Movable lights.
In the image below, a Material uses Panner and ScalarParameter nodes to move a texture while generating a flickering effect.
Click image for full size.
Creating a Light Function
You can create a Light Function by setting the Material Domain of a Material to use the Light Function attribute.

Applying a Light Function
You can apply a Light Function to a light from inside the Details panel under the Light Function Material setting.

Known Issues & Common Questions
The following describes known issues when using Light Functions with the Forward Render.
- Light Function only works if cast shadows are enabled: This happens because FScene::AssignAvailableShadowMapChannelForLight only assigns a Shadow Map channel to shadow casting lights. Light functions need to be rendered into a Shadow Map to be passed into the base pass in the Forward Render.
- Light Function only works if there's one shadow casting object: This happens because FDeferredShadingSceneRenderer::RenderForwardShadowProjections skips the light unless VisibleLightInfo.ShadowsToProject.Num() > 0.