It depends how you want to do it; simple decals are just textured planes positioned where a raycast hits an object. More elaborate solutions would use a shader to map a secondary texture onto the scene. If you want the second solution it works exactly like shadow mapping, just that you have a "decal" texture instead of a shadow map that you project onto your objects (by just applying the shader to certain objects you can selectively filter out objects that shouldn't receive decals as well).
"Why do programmers get Halloween and Christmas mixed up?" Because Oct(31) = Dec(25)