'Seseo' refers to the convention in most dialects of Spanish to pronounce the letters 'z' (in all cases) and 'c' (before 'i' or 'e') as a voiceless dental fricative or dental /s/, which is basically the 's' sound in English but with the tongue a bit closer to the teeth. This is as opposed to the /θ/ sound which they represent in Castillian Spanish and a few other dialects. Apparently, at the time of Columbus the 'z' and 'c' were pronounced dental /s/, and 's' was pronounced alveo-palatal /š/ (like 'sh' in English) or /z/. Andalucians from Southern Spain(most of the ones who settled in the Americas) began to confuse the two sounds, both becoming a dental /s/. Later development in Spain rendered the /s/ into /θ/ and /š/ and /z/ into an alveolar or near alveo-palatal /s/.

A person or dialect with seseo is described as seseante (the opposite is ceceante). Due to the seseo, there is no spoken distinction between cierra/sierra, casa/caza and cocer/coser. This can, of course, be very confusing to native-speakers as well as non-native speakers, where the distinction can only be known in context (in speech). It's a lot like how pronunciations of English can differ from Britain to America to Australia. An interesting point is that if you speak to a British person in Spanish, chances are he or she has a ceceo because the standard learned over there is the Castillian dialect, whereas in America the standard Latin American dialect is taught, with the seseo.