The sukuun (absence of a vowel) is a diacritic that indicates the end of a syllable. Put another way, a consonant with a sukuun above it is not followed by a vowel. This only occurs when the consonant itself follows a vowel. The sukuun is written as a circle above the consonant.
Using left-to-right English 'words' as examples, the word "bata" would be spelled "b/t/"; however "bat" would be spelled "b/to".
The only time that one consonant immediately follows another is when they are in different syllables; in which case, the first consonant would have a sukuun.
Again using English 'words' as examples, we could write "vista" as "v/sot/." The sukuun indicates that the "s" is not followed by a vowel. Otherwise, the word could have been "visita", "visata", or "visuta".
The sukuun cannot be used to combine consonants into single sounds. For example, "...sot..." could only be combined in such a combination as the English "mister" ("mis-ter"), not as in "stair". Combinations such as "stray" are not possible at all in Arabic.
The shadda is a diacritic which replaces a double-consonant, but only where the first consonant has a sukuun on it, and the second one is followed by a vowel. If the word "vista" above were instead "vitta", then we could put a shadda over the "t". If it were "vitata", however, we could not.
The double-consonant doesn't work the same way as in English. In English, a doubled letter modifies the sound of the preceding vowel. For example: "mated" is pronounced with a long "a", whereas "matted" is pronounced with a short "a".
In Arabic, as mentioned above, a consonant only follows another if the first one ends the previous syllable, and the second one begins the next syllable. As such, both letters are pronounced. In English, this tends to only occur when the two letters are in separate words, as in "big guy".
When reading transliterations of Arabic words, any double letter should be read with a hyphen in it. So "shadda" is pronounced not as "sha-da", but as "shad-da".
Writing the shaddaEdit
The shadda is written as a small "w" shape above the letter.
If the double-letter is followed by a short vowel, the mark for that vowel is written directly above or below the shadda (so the kasra, or "i" sound, should be written immediately below the shadda, not below the letter).
If the shadda is followed by a long vowel, then just the shadda is written.
A shadda cannot be followed by a sukuun. This is because a shadda indicates a double letter where the first letter bears a sukuun, ending the preceding syllable. In order for the second letter to have a sound, it must be followed by a vowel.