First, feGaussianBlur softens the original alpha (the silhouette of some text or shape) into a height map. Feed that into feSpecularLighting/feDiffuseLighting and it's treated as a bump surfaceScale units tall, lit by a fePointLight, feDistantLight, or feSpotLight you place. Finally feComposite blends the lighting result back with the source so the shape reads as "raised and catching light."
feDiffuseLighting gives Lambertian shading (matte, equally bright from any viewing angle); feSpecularLighting gives a highlight that only shows where the light and viewing angles line up. A real emboss usually layers both.
Animate a fePointLight's x/y/z and the light appears to sweep across the surface, which sells the depth far better than a static light. This chain is one of the heaviest SVG filters, though — blur, lighting and composite each run per-pixel, several passes deep — so avoid it on large or frequently-resized areas. Safari's rendering of fePointLight's z (height) in particular can differ subtly from other browsers, so treat it as a progressive enhancement.
When to use
For giving a single logo or wordmark a metallic/embossed texture. Don't apply it to body text or layouts that resize often.