The above excellent write-up is 100% correct... but only for one variety of Spanish and one variety of English. I offer some additional notes on
Castilian, the standard form of the language of
Spain. And in fact by Castilian I mean Standard Spanish, the form taught to foreigners - local varieties in
Castile no doubt differ in places.
I know almost nothing in detail about Spanish dialects, so in what follows when I say "some dialects", I don't know whether it applies to Andalusian, Chilean, Mexican, or whatever.
The English can be disposed of quickly. For the rest of us who have three entirely different vowels in father, bodyguard, and Mafia, it's the vowel in father, or a little further forward, leaning slightly towards that in fatter.
The flapped r sound in the middle of American English 'water' has no counterpart in most varieties of English. It is like a very short d. But everyone has ample opportunity to study how Americans speak. (Note: it is not the -er sound of American 'water', a very different sound.)
The letter z always, and the letter c in the combinations ce, ci, is pronounced like English th in 'thin'. This is traditionally confined to Castille and not much else in Spain (in northern Galicia for one), and nowhere in Latin America as far as I know: so saying Valenthia, Barthelona, Andaluthia is a no-no if you want to be really accurate. Locals there have an s sound, not th. However, Excalibre tells me this th pronunciation is now quite widespread in Spain, and there are parts of Andalusia where s is also pronounced this way (ceceo).
J always, and g when in ge, gi, are the ch-sound of loch, chutzpah in Castilian and many other dialects, but in some they are like an English h.
LL is the ly-sound in standard Castilian and some other dialects, but is like an English consonantal y in other dialects.
The letters b and v represent the same sound. It is purely a historical spelling difference, based on what they came from in Latin. They are now the same. So Valencia is pronounced as if Balencia. (The Spanish Academy say, or used to say, they should be distinguished the way they are in other languages, but they're talking out of their sombreros.)
Now for the bit that is harder to explain. The stop consonants b, d, g each have two different pronunciations, depending on their position in the word. (They're allophones.) In this, (i) by b I mean v as well, exactly the same rules applying to both, as the same sound; and (ii) I exclude ge, gi.
At the beginning of a word (said in isolation) they are the hard explosive consonants of English, French, or Italian: Baleares, vamos (= bamos), Durango, Galicia. (Except that, minor point, d is dental where in English it's alveolar.)
They also have that explosive sound after the nasals m, n: también, duende, gringo.
Elsewhere, they have a much softer sound, an approximant, a weak fricative sometimes little more than a colouring of the vowels around it. So b = v resembles English w or a weak v; and d is a weaker form of the th in 'father'; and g has no equivalent in any variety of English (listen to Iñigo Montoya say his name). The past participle ending -ado is close to -ao. This property of these three consonants is generally applicable to all Spanish dialects, including all American ones.
The voiceless stops t, p, c are unaspirated: in English 'too, coo, poo' have a strong puff of breath, thoo etc. This is absent in (all forms of) Spanish, so tu might sound like du to English ears.
Finally, s before another consonant may be very weak, something like English h: so España may be heard as Ehpanya. This is somewhat so in Castilian and more strikingly so in some other dialects.
Where I have not mentioned anything, PMDBoi's write-up is fully applicable to Standard European Spanish.