Cantonese is more difficult as it has 8 tones. That means, one single vocal expression (or sound) has 8 tones.
As for mandarin, only 4 tones, which is already complicated enough for the learner.
Both Cantonese and Mandarin share the same written characters, but there are Chinese characters in Cantonese which are not used in Mandarin.
A Cantonese speaker can understand "Mandarin Chinese Characters" IN SOME CASES, there are some Cantonese characters that a Mandarin speaker might not understand.
i.e. The word "WHY" in Mandarin = 为什么 whereas in Cantonese = 点解. A Mandarin speaker who has no idea of Cantonese can never understand this written character.
P.S. I speak and write both Cantonese and Mandarin perfectly well. More fascinated by Cantonese. However, I suggest you learn Mandarin first and Cantonese later as 99.9% of Chinese (I think) understand Mandarin.