The Freeze command, available from the quad menu and the Display panel, lets you protect objects from accidental editing and speeds up redraws. By default, a frozen object appears dark gray when drawn in the viewports, whether as wireframe or shaded. It remains on screen, but can’t be selected, and therefore cannot be directly transformed or modified. However, it responds to indirect manipulation; for instance, by adjusting an instanced modifier or by moving bones that belong to a Skin modifier.
On the right, the trash can and streetlight are frozen.
Frozen objects are similar to hidden objects. Linked, instanced, and referenced objects behave when frozen just as they would if unfrozen. Frozen lights and cameras and any associated viewports continue to work as they normally do.
You can choose to have frozen objects retain their usual color or texture in viewports. Use the Show Frozen In Gray toggle in the Object Properties dialog.