Castelldefels liegt an der spanischen Mittelmeerküste, etwa zwanzig Kilometer südwestlich von Barcelona. Hier endet das flache Küstenland, das Barcelona umgibt, und das Gebirge reicht bis ans Meer, wo es eine markante Steilküste bildet. Der Ort gehört zu einer Reihe von Siedlungen, die sich entlang dieses Gebirgszugs erstrecken, darunter Gavà und Viladecans. Sein Strandabschnitt ist besonders lang und breit, gesäumt von Pinienwäldern wie der Pineda, in die sich Häuser und Hotels einfügen. Am Passeig Marítim, nahe dem Hotel Playafels, liegt ein urbaner Bereich mit Geschäften und Restaurants.
Die Wurzeln von Castelldefels reichen bis ins Jahr 996 zurück, als eine Burg als Wehrturm entstand, um die Kirche zu schützen. Der Name Castrum Felix wandelte sich später zu Castelló de Fidels und schließlich zu Castelldefels. Unter der romanischen Kirche Santa Maria del Castell fanden sich Überreste aus iberischer und römischer Zeit, darunter eine Zisterne und ein Cippus, die heute unter Glas zu sehen sind. Auch Reste römischer Häuser wurden auf dem Burghügel entdeckt.
Besonders prägend ist die Burg aus dem 16. bis 17. Jahrhundert und die romanische Kirche Santa Maria de Castelldefels aus dem 10. bis 12. Jahrhundert. Zwölf historische Wachtürme, meist aus dem 16. Jahrhundert, sollten vor Piraten warnen und sind teils erhalten, teils umgebaut oder verfallen. Die Höhle Cova del Rinoceront, eine paläontologische Fundstätte, zählt ebenfalls zu den Sehenswürdigkeiten. Der Ort war einst ein beliebtes Urlaubsziel, doch der Tourismus ausländischer Gäste ist heute weitgehend zurückgegangen.