The actual reason double accidentals were created was to complete music theory. An example of this would be in augmented and diminished notes.
The rules of music theory state that an augmented interval MUST be a raised semitone of the perfect interval:
In the key of B, your steps are: B, C#, D#, E, F#, G#, A#, B
Your perfect 5th is an F#. To diminish it, you HAVE to drop the pitch a semitone, and so your diminished 5th would be an F♮ instead of an E#. When augmenting, the same rules apply. To augment it, you HAVE to raise the pitch a semitone, so your augmented 5th would be an Fx instead of a G♮.
In the key of Db, your steps are: Db, Eb, F, Gb, Ab, Bb, C, Db
Your perfect 5th is an Ab. To augment it, you raise the pitch a semitone, so your augmented 5th would be an A♮. To diminish it, the same rules apply. You HAVE to drop the pitch a semitone to diminish the interval, so your diminished 5th would be an Abb instead of a G♮.
However... when composing music, accidentals are dealt with differently. The modern purpose is to use the least amount of accidentals as possible.
When doing this, you should try to make it so you have no written naturals since they are already understood. Only the notes that are not natural should have accidentals. You will find out that this is not always possible with just single accidentals.
Below is a blue scale run in the key of C, written 3 different ways. The one at the bottom is the one with the least amount of accidentals.
|C, Eb, F, Gb, G♮, Bb, B♮, C, B, Bb, G, Gb, F, Eb, C| 7 accidentals
|C, D#, E#, F#, G, A#, B, C, B, A#, G#, F#, E#, D#, C| 4 accidentals
|C, D#, F, Ex, G, A#, B, C, B, A#, G, Ex, F, D#, C| 3 accidentals
Using less accidentals makes it less complicated, of course... Reading an Ex after an F♮ is really wierd, but it makes sense because it uses less accidentals.
Triple accidentals also exist. They are rare though, because the only case you would use them is if you need a double accidental on G#/Ab. Try to guess why ;)