Okay, Great theoretical Design Engineering question, and I'll give you an answer as best as I understand the situation...
Pretty much everything used to be USD (Ultimate Stress Design, aka Allowable Stress Design, aka Working Stress Design). There are occationally some minor differences between the three, but essentially they are the same animal. Basically you find the stress in a member (the Ultimate Stress) and check that it is below some "Allowable" stress. The safety factors are in the Allowable stress, although sometimes (and thus the name differences) there are more generous "permissible" stresses and you are to use Safety Factors on the applied loading as well. Geotechnical design is still very much USD, ASD or WSD in most areas.
LRFD (Load and Resistance Factor Design) is a refinement of USD where you separate your safety factors into load applied factors (Typically >=1) and Resistance Factors (Trypically <1). This allows you to modify your total resulting safety factor (Load Factor/Resistance Factor) based on how well you know your loading as well as (distinctly) how well you know your material's reliability (For example resistance factors for steel are typically >=0.85m, whereas for concrete they normally range from 0.55 to 0.8).
Limit States Design (LSD) is a wholly different animal, and generally is viewed as an improcement on theoretical code development. Now you are not simply working on strength of the structure, but applying a wholistic approach to an entire system in an attempt to control two separate limit states, The Ultimate Limit State (ULS; ie: exceeding this limit your structure collapses) and your Serviceability Limit State (SLS; ie: exceeding this limit in some way causes your structure to stop being functional for its intended purpose, however does not necessarily result in collapse). After understanding this distinction, you can see that the codes are developed to limit the theoretical probability that any limit state (most structures have many) would be exceeded. They are normally codified in a manner similar to LRFD codes, however are considered distinct thanks to the underlying theory behind them.
A great example of ULS vs SLS is to consider the Tacoma Narrows Bridge. When constructed the bridge satisfied both, until a built up of occilations started to be felt by users... As soon as the lower fifth percentile of people complained they were uncomfortable with this (typically this is just feeling vibrations, sometimes are subtle as feeling a little nautious) the bridge has exceeded the vibration SLS limit. As the occilations became greater and the structure could be seen to move, it had breached the SLS deflection limit. As the occilations became so severe as to slow traffic accross the bridge, it failed the SLS general serviceability limit. Once the bridge collapsed then, and only then, did it fail the ULS limit.
Many, MANY, more stages are possible with the Tacoma Narrows Bridge, but this just depends on how fine a pen you want to take to the problem. In general these four stages more than suffice. And to be fair, the bridge started to make people feel quesy almost right away, so to say that it ever met SLS is a stretch!
Hope that helps,
Regards,
YS
P.S. The basic difference is important to understand, however it is very much secondary to applying your code correctly. No matter how the development was acheived, you have a resulting recipe you are expected to apply in its entirety. Good Luck! YS
B.Eng (Carleton)
Working in New Zealand, thinking of my snow covered home...