As you know, there are a lot of synonyms in the Russian language. Often it's rather difficult to understand: while there is only one word to denote any concept in your language, in Russian this word is denoted by two or more words. It's even more difficult when these words have different meanings. Nevertheless, we can explain any of these pairs or word-groups.
Let's look at the synonyms "мочь" [moch'] and "уметь" [umet'] - can.
Both of them mean possibility and ability. Moreover, you can use them with the same verbs and it would be grammatically correct.
You can say:
"Я могу читать" and "Я умею читать" - I can read.
"Я могу говорить по-русски" and "Я умею говорить по-русски" - I can speak Russian.
"Я могу играть на гитаре" and "Я умею играть на гитаре" - I can play the guitar.
There is very small difference, isn't it? However, you can notice it in some cases that the word "мочь" [moch'] means physical ability and "уметь" [umet'] means a skill.
Могу [magu] - I can because I'm able to do this.
Умею [umeyu] - I can because I've learned how to do this.
For example, if we talk about breath, it is correct to say "я могу дышать" [ya magu dyshat'] (I'm able to breathe) rather than "я умею дышать" [ya umeyu dyshat'] (I can breathe) because we have this phisical ability from birth.
We use both of these options in our speech.
"я могу говорить по-русски" (I can speak Russian) = I know words, can pronounce sounds, know rules - that's why I'm physically able to speak Russian.
"я умею говорить по-русски" (I can speak Russian) = I've learned words, sounds and rules - that's why now I have Russian language skill.