The main timing option is set through the -T parameter. There are six predefined timing policies which can be specified by name or number (starting with 0, corresponding to Paranoid timing). The timings are Paranoid, Sneaky, Polite, Normal, Aggressive and Insane.
A -T Paranoid (or -T0) scan will wait (generally) at least 5 minutes between each packet sent. This makes it almost impossible for a firewall to detect a port scan in progress (since the scan takes so long it would most likely be attributed to random network traffic). Such a scan will still show up in logs, but it will be so spread out that most analysis tools or humans will miss it completely.
A -T Insane (or -T5) scan will map a host in very little time, provided you are on a very fast network or don't mind losing some information along the way.
Timings for individual aspects of a scan can also be set using the -host_timeout, -max_rtt_timeout, -min_rtt_timeout, -initial_rtt_timeout, -max_parallelism, -min_parallelism, and -scan_delay options. See the Nmap manual for details.