Cats and AFR Cliffs Notes version. (I only talk in lambda because AFR moves around quite a bit depending on the ethanol blend.)
Where cats work: Catalysts only work at lambda 1 (stoich) or a VERY narrow band around lambda1. In fact, you need to toggle back and forth between rich and lean to keep the cat reacting properly, alternating between feeding raw O2 (lean) and extra HC (rich) in the correct amounts. The toggle is usually in the range of about less than 1% or 2% max depending on the catalyst. This is known as forced modulation, and the magnitude of the kick and hold time usually is dialed in to keep the cat in it's "happy" zone for best conversion efficiency. This can be seen in the catalyst brick temperature, where an exothermic reaction of the exhaust constituents takes place and the cat temp is higher than the in-flowing exhaust. In summary, if you don't idle and cruise at lambda 1, the cat isn't doing anything.
Enrichment is used for several reasons:
1) There is a charge cooling effect from going slightly rich at high loads due to the heat of vaporization from the fuel. This is usually in the 0.95 to 0.90 lambda range. The result is more dense air charge trapped in the cylinder.
2) A richer mixture can shift your knock limit by cooling the air charge (as described above) or slowing down the rate combustion and allow you to run more spark advance. This benefit can be realized from 0.95 lambda down to about 0.80 lambda, depending on the engine. Once you go south of 0.80 lambda, the combustion usually slows down to a point where you can't recover the torque through the knock limit shift spark advance.
3) A rich mixture cools the exhaust and the catalyst. Enrichment is used in production (by law) to protect the components of the exhaust system which have upper temperature limits; exhaust valves, turbine, or catalyst. Usually the enrichment is dictated by the first component to reach it's max threshold, and this can vary depending on the load / speed operating zone. Typical example values for sustained operation: Exhaust valves 860°C-920°C, turbine inlet or 950°C-980°C, catalyst 950°C with brief excursions up to 1000°C. In this rich case, the additional mass flow from the added fueling when running between 0.9 lambda and 0.7 lambda cools the exhaust components as compared to running at stoich / lambda 1.00. Since there is no un-burned O2 in the exhaust, the catalyst can not react with the extra HC in the rich mixture (more on that later).
4) Excessive enrichment: Pushing the lambda down too far can result in rich misfire as a91what stated. Once you go less than 0.7 lambda or 0.62 lambda, the burn rate slows down so much that complete combustion becomes unstable or the mixture is just too far off to ignite. If you have to run these very low lambda values to hold temperatures or avoid knocking, you're either running too much boost, too much compression ratio, or really bad cam timing.
What ruins catalysts:
1) Over-temping them by not running enough enrichment at sustained high load operation. Running rich does not ruin cats, running too rich (misfire) or not rich enough (at high load) does.
2) Misfire, where incomplete combustion in the cylinder pumps un-burned air (02) and un-burned fuel (HC) into the catalyst where the raw constituents react / burn in mass. When this happens at mid to high loads, the cat temperature can spike up to over 1300°C and melt down the substrate in seconds. (It's an OBDII legal requirement for the EMS to diagnose misfire and shut off fueling to the misfiring cylinder if it becomes bad enough to damage a catalyst, and flash the MIL as a warning to the driver. This is only available as a requirement on cars built from 1996 forward.)
And finally,
3) An exhaust leak can result in a similar scenario as #2. Exhaust flow is not steady flow. There is a high pressure pulse from each cylinder's exhaust stroke followed by a low pressure wave. When you have exhaust leaks, this low pressure wave can draw fresh air into the exhaust system. The raw O2 that's drawn in can react with the un-burned HC in the catalyst, increasing the catalyst temperature, and generate the same end result as misfire. It takes a pretty good size leak for this to happen, but even small leaks can start to render the catalyst ineffective in terms of conversion efficiency because the lambda value of the exhaust at the catalyst is no longer ideal (1.00). This is usually an issue for exhaust leaks upstream of the cat, but someone leaving the air injection system open after removing a smog pump can cause the same problem.
In terms of calibrating the fueling for a project car, you have to play it safe unless you plan to instrument your car with thermocouples and can get the max temperature specifications from the suppliers of these components (not likely). I would be less worried about a primarily street driven car or drag car than I would about one that's used for road racing, since road racing cars can operate at high loads for sustained periods of time. Short blasts aren't going to tulip your exhaust valves or melt down a cat if you're fueling is a few percent leaner than the ideal lambda for an NA application. The same goes for melting down your turbine impeller on a turbo car, but there is much less room for error with turbos due to the significantly higher mass flows involved. The general rules of thumb have already been stated and they are pretty good starting points. The best you can do is put a logical fueling table together based on your build and look for the warning signs while monitoring the lambda values at high loads (e.g. never go > lambda 1.00 or even 0.95 at WOT, glowing catalyst or headers after short WOT blasts, bad / burning smell after a WOT run from the exhaust, color of the spark plugs follwing repeated WOT runs, excessive knock at WOT with reasonable spark advance tables...).
I hope this helps.