Has the definitive answer to any development question on a moment's notice. Implements changes at will, without prior discussion with those whose work the decision will affect. Automatically assumes that any bugs are in someone else's code. Is not only an expert in a limited knowledge domain, but in ALL knowledge domains. Thinks whatever answers others come up with are wrong.
Testing is for wimps.
Some people are cowboys because they just don't know any better. At the risk of being repetitious, cowboys are a management problem, and must be taken care of on that level. If the manager is more of an ostrich-type, they may ignore one person's complaint, or even complaints from multiple people one at a time. But it is very hard for any manager to reject the massed complaints of a large subset of the group's programmers. For a short project, this might even be viable, although frustrating.