I like the other answers here. Let me just add my take on this subject. I hope I don't offend anyone here. Talking about a style's weaknesses is often a hot button subject.
Wing Chun was developed with a particular purpose in mind. And that was to train someone as quickly as possible to be able to fight people who were trained in traditional kung-fu arts that were commonly found at the time and in the region of China where Wing Chun was developed. It accomplishes this goal exceptionally well. However, when Wing Chun fighters engage with fighters of styles that are very different from those traditional kung-fu styles it was designed to go against, it reveals Wing Chun's weaknesses and holes.
The goal of Wing Chun was not to develop a fighting system that was equal to those traditional styles. Its goal was not to make people well rounded fighters or good at "street fighting". It was just supposed to get people skilled enough to be able to take on traditionally trained kung-fu fighters, and do it in a fraction of the time it normally takes.
So how did it accomplish this? How can you train someone in one year to be able to fight (and win) against traditionally trained kung-fu fighters that have been doing it for 10 years?
The answer is that Wing Chun was designed to take advantage of various weaknesses in most kung-fu styles at the time. Most of these styles did not train the close range that Wing Chun trains. Most of them teach a defensive style, whereas Wing Chun takes the fight to them and quickly tries to close the gap and get right up in their face in the close range. Most of them teach circular, long, over-arching strikes and blocks. Wing Chun does away with the long arching motions and does simple, short, direct, linear ones instead. Most of them teach dozens of forms with a half dozen weapons, taking years of extra time to master. Wing Chun only has 3 forms that can be learned quickly. Most of them trained single action striking and blocking. Wing Chun trains simultaneous striking and blocking. Most of them puts one arm forward and one arm back, but Wing Chun puts both arms forward and uses them both at the same time. Most of them are "hard" styles that lacked sophisticated feeling and sensing skills like Wing Chun's chi-sao techniques. Etc.
Given all of that, you can see now that Wing Chun was developed with the sole purpose of exploiting the weaknesses and holes present in traditional kung-fu styles around at the time. It gave Wing Chun a big advantage. Wing Chun fighters didn't have to be particularly well rounded fighters. They didn't have to spend decades learning to master anything. They could, in short time, get good enough to exploit the weaknesses inherent in traditional kung-fu styles. It's very smart.
But take Wing Chun out of that environment and put it up against fighting arts that were uncommon or completely unknown to the founders of Wing Chun at the time, and you will find that Wing Chun is often at a big disadvantage. This is especially true against western style boxing (particularly the hook punch to the head). And it's also true for arts like wrestling, Muay Thai, Brazilian Jiujitsu, and MMA. If you pull up Youtube, you can see many examples of Wing Chun fighters not doing at all well against those styles. And you'll see why almost immediately.
In conclusion, Wing Chun was designed for a specific purpose and was excellent for that purpose. It still is. But when you use it outside of its expertise area, it is often quite inadequate. Many Wing Chun fighters realize this and augment their training with supplementary fighting styles such as filipino martial arts (knife and stick), Brazilian Jiujitsu, Muay Thai, western boxing, and so on. Some styles of Wing Chun, such as Wing Tsun, attempt to address these holes and weaknesses within its own system, with varying success.