From my knowledge, you must be proficient in every part of the game to be a good player, however does that mean all attributes have to become strengths to become great? No, it does not. Let me explain:
Let me introduce the concept of "artists" and "warriors"
A Warrior- an all around player who can do anything for the team who possesses pretty much every skill, and is very proficient with any technique. For example, Patrick Veira, he can head, shoot, pass, run, has good tactical knowledge, and is strong on the ball. Wouldn't you love to be on of these players? Clearly he has few weaknesses.
An artist- a player who's main role is to score, and help create for his teammates. He obviously doesn't have all the all round skills as Viera, but is good at what he does.
Now, let me ask you this question: is Arsene Wenger wrong for hiring Thierry Henry?
NO, because his role on the team is different. For example, if you are a winger, you have to be alright at heading, but it doesn't need to be a great strength since you don't really head the ball much at that position. You should work on your pace, dribbling, and crossing, you should make these all strengths and make them work together. So, say if you can dribble, and you have good pace, you should work on crossing, and do this so you can use your dribbling ability and speed to set up a great cross, which will make you a more effective "artist" on the pitch.
And there are some players, like Gattuso's that fit in neither of these categories, their role is to create for the warriors and artists....
I would consider myself an artist, that's because i'm a winger with some finishing skills (I used to play striker in highschool)
So, good luck, and try to develop your skills so they are position and role specific.