When songs don't appear to exactly correspond to regular progressions, it's often because they are using substitute chords.
There are two main ways
One is to merely use an extended chord such as G7, G9, G13, Gdim or G+ in place of a regular G.
Another more difficult to spot substitution is when the "relative minor" chord is substituted. A minor scale has different intervals from a major scale (and there are different minor scales), but a regular minor scale in A uses the same notes as a major C scale:
Am: A B C D E F G C major: C D E F G A B C
so you can substitute Am for C in many places.
So sometimes in a song in C, instead of seeing the C, F and G chords, you'll see a progression that looks like this:
C / Am / | F / G / |(this is the standard progression for many pop songs of the 50s)
Here is a list of relative minor chords.
|C: Am||C#: A#m||Db: Bbm|
|D: Bm||D#: Cm||Eb: Cm|
|F: Dm||F#: D#m||Gb: Ebm|
|G: Em||G#: Fm||Ab: Fm|
|A: F#m||A#: Gm||Bb: Gm|
Many songs in G, such as Foggy Mountain Breakdown, make extensive use of the Em chord (the relative minor).
In D, you'll often play a Bm to give it a distinct sound.
Some complex songs will use the relative minor for each of the three main chords so you end up with 6 chords.
That can make the song seem complex unless you realize they are all relative minors.
C / | F / | G / | C / | may become C Am | F Dm | G Em | C / |