Cantonese is a language, yes, but mutual intelligibility and similarity to other languages is hardly relevant unless the languages are very similar indeed.
For example, there are spoken varieties of English that are mutually unintelligible, while speakers of different Slavic languages are often capable of having a good conversation by speaking slowly and listening carefully.
In practice the main criterion for being a language as opposed to a continuum of dialects is the degree of standardisation. So an example of something that may or may not be a language might be something like Swiss German (but I'm not an expert so I can't guarantee that's a good example). Another type of borderline case is when you have two standardised languages which differ only slightly, for example US English and GB English, or DE German and AT German.
> For example, there are spoken varieties of English that are mutually unintelligibl
Which? I have travelled to, worked in, or lived in multiple countries with English speaking populations (by which I mean some people speak English as a first language, though it may be a small minority) on five continents and never had a serious problem understanding people. Some slang and idiom and loan words, but thing much.
I have personally been baffled by some Scottish and Indian speakers of English, particularly when I was younger and less experienced. And Singapore English is said to be particularly hard for someone with no previous experience. And I know of a case in which someone from London sat at a table with some in-laws who were speaking a traditional native dialect of southern England to each other and found they understand almost nothing, though that was a few decades ago and the dialect in question is perhaps only spoken by old people today.
When you say you "never had a serious problem understanding people", do you mean you could understand them when you overheard them speaking to each other? Because that, of course, is the real test of how intelligible their language is to you. They may well speak a bit differently when speaking to an outsider. Also, you may be particularly skillful at understanding spoken English. I feel I have got better at understanding British dialects as I got older and gained experience of them. I was terribly confused by some dialects as a child.
With compulsory education almost everyone today has some knowledge of a standard language besides whatever dialects they have learnt. If you want to find someone who only speaks dialect X of language Y you might have to look in places where Y is neither official nor widely taught, or among very old people who never went to school.
I do have the advantage of having grown up speaking two dialects (but they are not THAT different) so I am probably better than average at understanding spoken English. I think the biggest difference is attitude: I am not thrown by hearing an unfamiliar idiom.
I have heard Singaporeans, Indians and others speaking to each other and had no difficulty understanding them.
A problem I have come across in South Asia is people mixing languages. At that point are the speaking English? It can be quite disconcerting when someone changes language mid-conversation.
I have found Geordies and some Scots difficult to understand, but I think "mutually unintelligible" over stating it. There are reasons why Scots is sometimes classified as a different language. Other than that I have had difficulty with any form of British English.
People often say Mandarin and Cantonese are like Spanish and Portuguese, but that undersells how different they are.
Your example of Spanish and French is more accurate -- same language family, but different grammar and vocabulary.
I offer German and Dutch as another example pair -- same language family as well, but different enough that no one will say "oh they're just different dialects". Dutch is an example of what happens when a Germanic language (Low Franconian) gets it's own state.
For example, there are spoken varieties of English that are mutually unintelligible, while speakers of different Slavic languages are often capable of having a good conversation by speaking slowly and listening carefully.
In practice the main criterion for being a language as opposed to a continuum of dialects is the degree of standardisation. So an example of something that may or may not be a language might be something like Swiss German (but I'm not an expert so I can't guarantee that's a good example). Another type of borderline case is when you have two standardised languages which differ only slightly, for example US English and GB English, or DE German and AT German.