Characteristics of Northern and Southern accents My first language is Cantonese.  I learned Mandarin as a second language.  Native speakers of Mandarin often understand me with no major issues.  Of course, they recognize the Southern accents right away.  Sometimes, I have trouble understanding people from Northern regions (example: Beijing).  Other than the "learned" retroflex constants (zh, ch, sh, r) produced by native Cantonese speakers, what are the other characteristics that I should aware to understand better?

Sorry to over-generalize the regions and their accents.  Please feel free to point out characteristics in speech between different sub-regions.

Note that I'm not asking about terminology difference between different dialect/regional speech.  This topic can be covered in a separate question.
If you're looking for specific characteristics of particular accents, there are a couple I have noticed that have been fairly reliable.

I'm usually able to tell whether someone is from Shanghai (or a nearby Wu-dialect area) based on the way they pronounce the word 能 (néng).  Instead of the standard [nəŋ], they often say [nəɲ].  Note the [ɲ] (a palatal nasal sound) rather than [ŋ] (a velar nasal sound).  You can hear the differences on the Wikipedia pages that I linked.  If you happen to listen to ChinesePod, you may notice that Jenny typically pronounces 能 this way.  The reason for this particular pronunciation is because in Shanghainese and other Wu dialects, [ŋ] and [ɲ] are allophones of the same consonant and [ɲ] always occurs after the vowel /ə/.

Tianjin folks sometimes pronounce initial w- as [ʋ] (a labiodental approximate sound that sounds somewhat like [v]).  There was some discussion of this sound on a post in the Beijing Sounds blog.  I don't necessarily know the real explanation for this, but this sound did exist in Late Middle Chinese (ca. 1200 AD) and is transcribed by linguists as mv- (see note 2 under the table in this link).  All the mv- sounds merged with w- and Mandarin and m- in Cantonese (e.g., 未 is wèi in Mandarin and mei in Cantonese), but it might be that in the Tianjin dialect w- merged with mv- and both came to be pronounced as [ʋ] (this is purely my speculation though).

If we go to more general dialectical characteristics, you can often find free variation of initial n- and l- consonants in the south, particularly in Cantonese-speaking regions.  There is also free variation of h- and f- around south-central China (i.e., Hunan region).  The latter probably has something to do with the fact that many /x/ and /ɣ/ sounds in Middle Chinese shifted to /x/ or /f/ (which correspond to pinyin h- and f-, respectively) in various modern dialects.