Why are there so many fillers in long-running animes? The most obvious answer everyone over the Internet is giving to this question is "Because anime is produced much faster compared to manga, they need to put in fillers in order to slow down the anime series". However, that shouldn't be the only reason.

For example, consider One Piece. The show is going on for more than 500 episodes, and less than 10% are fillers. Comparing that to Naruto, the show has almost the same number of episodes (original and Shippuuden combined), but almost 50% of its episodes are fillers. Needless to say, the manga of Naruto is so far ahead that the anime won't be able to catch up even if they produce 100+ episodes without any fillers.
There are lots of possible explanations to that:


As you said, the anime catching up to the manga, so they have more time.
Special events, as anniversaries, movie-related specials or so.
Also, the narratives are different and that depends on the production team. In your example, Naruto (as Bleach did) commonly makes battles really fast-paced, so they tend to catch-up with the manga quickly. Whereas One Piece, while having lots of battle too, tends to make them less dynamic, so in the end, they are longer and don't catch up to manga as easily.