Veteran programmers surely encounter such situation where they spend countless hours tracking down a hard-to-fin bug that that is due to local variable having the same name as the instance/static variable in a class. In such case, the local variable will take precedent over instance variable which may not be the intention of the programmer.
Such case is especially prevalent in large class. Despite the best practice that emphasize that class should be kept as small as possible with some gurus setting a threshold of 200 line so that class is easily maintainable, in practice it often impractical for some classes as it creates more classes unnecessarily that results in higher memory consumption, reduced performance and make class navigation time-consuming. If one peruse many open-source projects, one will surely find certain classes having thousands of line of code. With more lines of code also means that the class will be error-prone to carelessness especially if the class is been maintained by many programmers. It is in this situation that name clash is likely the source of difficult bug.