I am in charge of a 70-computer, 50-user network distributed across two buildings and linked by a point-to-point line. We run Windows Server 2008 and so far we've been using DHCP to dynamically assign IPs to desktops and laptops over wifi as well.
Although DHCP is cool because you don't need to keep track of each machine/address pair, we have found a few issues with it over time. Sometimes we need to know to IP address of a particular machine and we don't have access to the DHCP server find out. Sometimes a device or service relies on a fixed IP from a machine, assuming that it will never change. Of course, we can pin some addresses to certain machines, but then the system becomes a mess of exceptions and documentation.
Also, sometimes I think that the pain of manually assigning an IP address to each new machine that we incorporate to the network is not that big; the DHCP server also needs some maintenance after all.
In short: is DHCP always the best choice for a small-ish environment such as the one I described? Would moving to a statically-configured environment be a big mistake?