Varieties of Spanish Pronunciation
The Spanish letters s, c (before e and i), z and x
Within Spain, one can more or less tell the difference between Andalusian (southern Spain) dialects and the Castilian dialects further north. The main differences are that some Andalusian dialects use seseo (pronouncing 'z', 'ce' and 'ci' with an 's' sound), while Castilian Spanish does not. Also, it is much more common in Andalusian dialects to not pronounce 's' before consonants ('casta' = 'cahta' where the 'h' represents either a slightly elongated 'a' or an aspirated 'h'), nor final 's' ('los niños' = 'loh niño').
This is important because most of first settlers in the Americas were Andalusian and by taking these dialects with them, the differences in pronunciation between peninsular Spanish (Spain) and the Americas evolved. Seseo is typical of Latin American Spanish and parts of Andalusia while ceceo (pronouncing 'z', 'ce' and 'ci' with a 'th' sound as pronounced in the English word 'thin') is the only variety found in Central and Northern Spain. This means that some words like 'casa' (house) and 'caza' (hunting), or 'coser' (sew) and 'cocer' (boil) are pronounced the same in Latin American Spanish.
For a more technically oriented and detailed discussion of this subject, please see this Wikipedia article.
Another important difference is the pronunciation of the letter 's'. In Northern and Central Spain - and some parts of Colombia - the 's' sound is almost like the English 'sh' of the word 'short'. In the rest of the Spanish-speaking world it is an 's' sound which is formed with the tongue on the palate just behind the teeth or on the backside of the teeth themselves.
In the words with 'x' (like 'excelente'), in Spain the 'x' is usually pronounced as an 's' ('esselente' or 'esthelente') while in most of Latin America it is pronounced similar to English 'ks' ('ekselente').
Spanish 'y' and 'll'
Peninsular Spanish differentiates (in most areas) between 'y' and 'll'. 'Ll' can be pronounced in Spain as English 'j' ('calle' = 'caje' in Andalusia and Extremadura), as English 'y' ('calle' = 'caye' in Andalusia) or as 'ly' ('calle' = 'calye') in the rest of Spain. The 'y' sound in these areas tends to be similar to an English 'y', although the mouth is tensed a bit more and the sound is more pronounced.
These three variants of 'll' exist in one form or another in Latin America. The 'ly' sound has been lost except in areas where the indigenous languages (like Quechua) had this sound in their own language. The 'j' sound is predominant in the Río de la Plata area (Argentina and Uruguay) and has even evolved to a new sound, a very strong 'sh' ('calle' = 'cashe'). In most of the rest of Latin America, the predominant sound is like English 'y' and there is no difference between the pronunciation of 'll' and 'y'.
Sets of variants (cited directly from Wikipedia):
In a broad sense, the Latin American Spanish could be grouped in five sets of variants, according to the pronunciation. The first group, the Caribbean is spoken in Cuba, Dominican Republic, Puerto Rico, Panamá, the Colombian Caribbean, and the Caribbean parts of Venezuela and Mexico. The second one is the South American Pacific, which comprises Perú, Chile and Guayaquil, Ecuador. The third is the Central American (just Honduras, Nicaragua, and El Salvador). The fourth is the Argentinian-Uruguayan-Paraguayan, which probably includes the Santa Cruz de Bolivia variant. The fifth, which probably is not a group, but a cluster of places that resisted changes in the pronunciation of the s sound in the end of a syllable, has been called the Highland Latin American Spanish, and is spoken in México, Guatemala, Costa Rica, Andean Colombia, Andean Venezuela, Quito, and Bolivia (except in Santa Cruz).
Computer programs to learn Spanish: www.braser.com