That's not markup, and not HTML at all, but hey, everyone wants to make
money out of HTML5 and calls HTML5 anything that serves the purpose! I'm
not innocent either; I've authored a book on HTML5, and surely some
picky character (like me) could easily point out topics there that just
aren't HTML5, or HTML at all.
More seriously, the code above is CSS, in a loose sense: a property
proposed in CSS3, more specifically "CSS Backgrounds and Borders Module
Level 3", and some proprietary properties supposed to do the same thing.
The point was, as Mayeul describes in his answer, to allow experimental
implementations in browsers, for features that have not been decided on
yet. If you use -moz-box-shadow, you can expect Mozilla browsers to
interpret in certain ways and other browsers to ignore it. Using
-webkit-box-shadow, you can expect some other browsers do something
similar, but not necessarily identical. And using box-shadow only, you
are effectively telling browsers to do the shadowing whenever they feel
confident to support the property as defined in a "standard".
But maybe it wasn't such a good idea after all. At least many people
think so. I just read a discussion forum posting that complains about
some Firefox 13 change that made a -moz-... property dysfunct. But it
was really the idea that such "vendor prefix" properties be dropped when
the property becomes mature. And Candidate Recommendation status, which
is what CSS Backgrounds and Borders Module Level 3 has now, is rather
mature. It basically means that fine-tuning and clarification process
will go on, but substantial changes are not expected and browser vendors
are encouraged to implement the new features.
And I checked that Firefox 13, which really installed herself without
letting me interfere much, does not recognize -moz-box-shadow any more,
but it recognizes the standard (for a suitable loose meaning for
"standard") property name box-shadow.
The morale? If you wish to use new properties, use the "standard" names
_and_ use tools like CSSPrefixer
http://cssprefixer.appspot.com to
generate the additional vendor-prefixed rules for you.
Or, alternatively, use just the "standard" names and allow for some more
months or years for delivery of browser support.