1) Game System defines a default race as a way of handling things like Warhammer Siege. The idea is that a Race will define a number of other Races that are its allies, which it can then take units from. The default race was then a way of having a central point for system-wide things like siege towers without making each race include them. There may be some unworkable constraints in terms of wanting to have system-wide equipment or abilities, in which case it might need re-working.
2) A Category is the classification (or classifications in the case of the latest Warhammer) of a Unit Type (e.g. HQ, Elite, Troops, etc for 40K and Lord, Hero, etc for WH). The Army then has one Army Category per Category defined in the Game System (or in the Race, if it has an override). If a Unit is created whose Unit Type is from the "HQ" category then they aren't added directly to the Army but are added to the "HQ" Army Category.
It is possibly more implementation level than design, but the way it works is that it keeps all Units from a Category together in one collection that can also provide additional information (such as "percentage of allowable points used" or "number of slots used"). By making it an object that is distinct from Army and Category it stops the Army trying to do all of the work, simplifies some of the modelling (because you can throw a collection of Army Category objects at a tree to show the unit selection, for example) and keeps it a bit more "one blob, one job".
3) The difference is that the Race defines the Ability (e.g. "They Shall Know No Fear") and then the Unit Type references it to say "I have this ability". The idea is to save duplication, which can occur quite a lot in Rollcall files and some Codex books.
4) Requirement is potentially extensible, but covers what we were discussing in the
Unit and equipment requirements thread. It can be "must have at least one of X to take any number of this", "must be army general", "can't be taken on own" (i.e. "is a champion"), or any number of other conditions and constraints.
Hopefully that clears things up a bit. I'll try to expand on the unit stats tonight, but the in-laws are visiting so it might have to wait until Saturday.