Why did he say "Sal'i u'Metzudasi"?
Rashi: They are expressions of strength. Sela is a rock, and Metzudah is Metzudah of the forest (a fence of interwoven logs). David said so based on his miraculous salvation at Sela ha'Machlekos and ba'Metzados b'Chorshah (Shmuel I, 23:28).
Radak: I was elevated in Him above my enemies. Radak (Tehilim 18:3) - I have no fortress to be elevated in it above my enemies, other than Your name - "Migdol Oz Shem Hashem Bo Yarutz Tzadik v'Nisgav" (Mishlei 18:10).
Malbim (Tehilim 18:3): At a time of serenity, no affliction reaches me at all. This includes (a) protection from enemies - Sal'i; (b) A higher level, that he defeats the enemy and rules over him. Sal'i u'Metzudasi u'Mefalti alludes to three levels of protection. Mefalti is salvation from the enemy. Mivtzar and Metzudah is a fortress to which he can flee and be saved. The Metzudah stands on a high Sela (rock).
Why did he say "u'Mefalti Li"?
Rashi: He saves me with the army of Yisrael in war, and He saves me when I am alone, e.g. from Yishbi b'Nov (12:16-17).
Radak (Tehilim 18:3): A rock and tower in which a person is elevated, sometimes he is saved in it, and sometimes not; his enemy seizes him there. Your name saved me every time!
The suffix Yud in "Mefalti" teaches 'me.' Why does it say also "Li"?
Radak #1: This is to further clarify it.
Radak #2: The Yud in "Mefalti" is extra; it does not teach 'me.' It is like "ha'Magbihi Lasheves", "ha'Yoshvi va'Shamayim" (Tehilim 113:5, 123:1).