When situation where integer or float coded domains have a big advantage is when your domain is also used as a calculation coefficients or constants. For example, if your coded domain was representing a network component, the float code could be the travel cost value of that component. This would eliminate an entire column from the table, and ensure that when the component type was changed, the component cost was automatically changed with it.
There are also some very interesting manipulations you can do with integer coded domains that you cannot do with text coded domains.
As an example, I have a domain for siren maintenance.
0 is in good working order
1 needs a type 1 repair
2 needs a type 2 repair
4 no longer rotates
8 has blown out drivers
16 is dead
A siren can have any combination of status, so a siren might be dead and need a type 2 repair, a type 1 repair, and no longer rotate.
So, I have status 23: Dead sirens. Does not Rotate. Needs Type 1 and Type 2 Repair. I have 32 different statuses possible in all.
So, say a technician gives me a list of 35 sirens than need a type 1 repair. These sirens could already have any of the 32 statuses on them. If they already need a type 1, I make no change. If they are already in another status, I need to add type 1 repair to their status. If this was a text coded status, I would have to inspect each one and set their status accordingly; or use a series of 16 different select statements and value calculations (using precise strings even for the calculations).
But this is an integer coded status. So, I select the 35 sirens. I reselect for Status % 2 = 0 (they are not currently in type 1 status). Then, I calculate their status value to Status + 1 (add type 1 status). And I am done.