The global catalog thing often bites people.

A GC holds a subset of the data held in active directory; not all DCs are GCs because in a multi-domain environment this adds a lot to network traffic etc.

If you have a single domain forest then there's no reason not to make all DCs into GCs. Even if you are running 2 domains in a forest - eg staff and student - then the chances are that they are relatively small (ie not millions of accounts) so if you just always make a DC a GC then you never hit problems with no GC server being available.