it is like a main switch for all the components on the gameObject. If it's deactivated, it's the same as if it wouldn't exist for the game (well, except that you can still access it) . So the mesh is free, the collider is free and if there are any FSMs on it, those are free as well. It does not reset the position though. Nor does it reset script attributes, so you have to make sure that if you use scripts or FSMs, you set your variables to certain default values in the start state or start function.
Maybe it helps to know that this is the secret behing those famed pool systems (like PoolManager etc). They make it look fancy, but effectively they are just creating a bunch of gameObjects (can be thousands) right on startup and then they deactivate them all. Then, later when you need them, they activate them again.