There are two types of codes for the SRS system. There are hard codes and soft codes. Hard codes get stored after the accident and if there are any hardware issues.
Soft codes identify a bad airbag, seat belt, clockspring, impact sensors, occupant classification system (OCS) and other SRS components.
For most GM, Ford and Toyota vehicles the soft codes are self-resetting after the solving the issue by cycling the key on. Each time the key is turned it goes into an initialization stage and checks all of its components. If all is good the light will turn off with 3-7 seconds.
If the car was involved in an accident then the module that control the airbags will need to be repaired /reset. Sometimes the airbags will not deploy because the vehicle was not traveling fast enough and it also depends where the impact was. But most of the time the seat belts will lock and need to be changed, just like the airbag after deploying.
To bring the system back to working condition, all deployed components will need to be changed. This includes the airbag control module. When you buy a new control module, most of the time it will need to be additionally programmed /coded to the car to inlcude the VIN and the configuration. Sometimes you can get away by purchasing a used module. But, for most cars year 2000 and up they will be VIN specific and will not work on your car without additional programming/coding at the dealer. Most Honda vehicles have an Occupancy Classification system that need to be configured to the airbag control module. That is why the light will not turn off if you use the airbag control module from another vehicle.
Remanufacturers like MyAirbags are now able to examine the hardware and repair/reset the module, clear all codes and will return the airbag control module to its original factory state. The best part about this is that when you get your airbag control module back and you put it back in the same vehicle you will not need to take it to the dealer for additional programming, for example, weight sensors and occupancy sensors. All airbag modules can be reset, except if flood or fire damaged.
The most common reasons why the airbag light is on besides the obvious, if the car was in an accident, are clockspring and under-seat wiring (70% of the time). The reason for this is that the steering wheel is constantly turning and the seats are adjusted forward/backward. If it is a clockspring then most of the time the horn will not work.
However, sometimes the horn will still work but the clockspring can be bad. For the seat wiring, remove the seat and examine all of the wires that connect to seat buckles, seat belt pretensioners, weight sensor and occupancy classification system. Some of the cars have a bladders in the passenger seat cushions that can get damaged when someone sits down on it with something hard or sharp in their back pockets. In this case the bottom cushion/bladder will need to be changed.
Myairbags resets all fault codes (hard codes and soft codes) to make your module new again. The dealer and/or scan tools will not be able to clear hard codes, also known as crash data. The company will reload original software back into your module. This is even better then a brand new module because, as noted, you don't have to take it to the dealer for any additional programming.

