Português
Existem duas formas distintas de escrever o fonema /s/ hoje porque a nossa ortografia moderna não reflete a pronúncia atual, mas sim a pronúncia do português arcaico.
A letra ç tem origem no castelhano antigo. Naquela época ainda se escreviam as palavras da mesma forma que elas continuam a ser escritas no português moderno.
Existiam seis sibilantes distintas, cada uma escrita com a sua própria letra ou letras. Este sistema ortográfico é preservado no português de hoje, embora os sons separados há muito tempo se tenham mesclado, e a distinção original perdida.
De Wikipedia:
Entre as consoantes do castelhano antigo falado aproximadamente até o início do século XIII, encontravam-se os seguintes pares de sibilantes, surdas e sonoras, com valor de distinção fonológica:
- Duas africadas alveolares, surda e sonora: /ʦ/ e /ʣ/ (como o z do italiano, ou da palavra pizza), representadas pelas grafias ç (c ante i/e) e z, exatamente igual ao português arcaico;
- Duas fricativas apicoalveolares, surda e sonora: /s/ e /z/, representadas pelo s no início de sílabas e final de palavras ou por ss para /s/ e s para /z/ entre vogais, como no português moderno;
- Duas fricativas pós-alveolares, surda e sonora: /ʃ/ (como o nosso ch ou x) e /ʒ/ (como o nosso j), representadas por x e j (g antes de e, i), como no português moderno.
No artigo de Wikipedia sobre a letra ç, lemos:
Ç foi usado inicialmente para simbolizar a africada alveolar surda /t͡s/ no espanhol medieval e se origina da forma da letra "z" na escrita visigótica. Esse fonema teve origem no latim vulgar a partir da palatalização das consoantes plosivas /t/ e /k/ em determinadas condições. Posteriormente, /t͡s/ converteu-se em /s/ em várias línguas românicas e dialetos.
Evolução do Z (Ꝣ) visigótico ao moderno Ç
Por isso, era originalmente um c sentado em cima da letra z, ou com z conectado embaixo.
English
There are two different ways of writing the phoneme /s/ today because our modern spelling does not reflect current pronunciation, but rather the pronunciation of archaic Portuguese.
The letter ç originated in Old Spanish. During that time words were written in the same way as they’re still written in Modern Portuguese.
There were six different sibilants, each written with its own letter or letters. This system of spelling is preserved in today’s Portuguese, even though the separate sounds long ago got merged together and the original distinction lost.
From Wikipedia (in translation):
Among the consonants of Old Spanish spoken up until around the beginning of the 17th century were the following pairs of sibilants, unvoiced and voiced, with distinct phonologic values:
Two alveolar affricates, unvoiced and voiced: /ʦ/ e /ʣ/ (like the Italian z, or in the word pizza), represented by the spellings ç (c before i or e) and z, exactly the same as Old Portuguese.
Two apicoalveolar fricatives, unvoiced and voiced: /s/ and /z/, represented by s at the start of a syllable or by ss for /s/ and s for /z/ between vowels, as in Modern Portuguese.
Two postalveolar fricatives, unvoiced and voiced: /ʃ/ (like our ch or x) and /ʒ/ (like our j), represented by x and j (g before e or i), as in Modern Portuguese.
In the Wikipedia article on the letter ç, we read (in translation):
At first the symbol ç was used for the unvoiced alveolar affricate /t͡s/ in Medieval Spanish and had its origins in the letter z in Visigothic writing. That phoneme had its origin in Vulgar Latin following the palatalization of the consonant stops /t/ and /k/ in particular conditions. Afterwards, /t͡s/ became /s/ in various Romance languages and dialects.
Evolution of Visigothic Z (Ꝣ) to modern Ç
So it was originally a c seated atop the letter z, or with a z connected below.