How, if at all, does the practice of assigning static IP addresses on a home or small office network make troubleshooting problems on the network easier?
In a home or small office environment, the device count is so low that it really doesn't matter either way although I prefer to use DHCP for my home networks. I just ensure 2 things: the lease period is fairly long since there are not a lot of roaming devices and my network-connected printers are turned on at least once every lease half-life. Doing this ensures that the printers will always have the same IP address and saves energy since I don't print frequently enough to justify leaving the printers on 24/7. With the usage patterns of my systems, it also means that all of my devices effectively have static addresses on my network.
Even with dynamic addressing on a small office network, identifying the computer is still a simple matter. If it is primarily a Windows network, having NetBIOS over TCP enabled and using WINS allows one to quickly query either the machine name to get the current IP address or vice versa and, if properly configured, the DNS resolver handles this transparently. If it a big enough network to justify an internal DNS, configuring it for DDNS isn't much more work and allows the same functionality as you would have with NetBIOS and WINS but it would work regardless of what operating system is in use.
As far as troubleshooting network issues being easier or harder based on static or dynamic IP addresses, I would have to say it's a push. There are a few cases that I can think of off-hand where having static IP addresses assigned to every machine makes certain issues easier or quicker to diagnose but it is not much harder to do the same with dynamic IP addresses. The only thing it really makes easier is identifying machines that consistently have network problems if the tracking is done only by IP address rather than a unique machine identifier (usually only used in large or enterprise networks) or name.
Generally speaking, this won't help much. Your router should have a list of all allocated IP addresses (DHCP and static), so identifying devices by IP is no more difficult with dynamic addresses than with static ones.
Static addresses are useful when you don't want them to change (for example, with printers, servers etc). On the other hand, they can make things more complicated if your network environment changes (e.g. taking a laptop away from home to a different network, that could cause a lot of trouble) or even changing the broadband router to a model that uses a different subnet (e.g. moving from a 192.168 network to a 10.0 one).
Of course, there may be situations where assigning a static IP address may be helpful for troubleshooting, but we'd need to know the context to comment. Is there a particular problem you are trying to diagnose at present?
What Is A Static IP Address, How Do I Get One & Its Advantages / Disadvantages
Dynamic IP vs Static IP