I'm having an interesting problem with my roommate's PS3. It was working relatively fine until I changed the router password. When I attempted to change the network configuration for the PS3 to use the new password, everything went to hell.
First, I had an amazing time trying to get the PS3 to even connect to the router (remember, the only setting changed was the password, same algorithm, etc). I ended up having to assign it a static IP (the previous IP was technically static - the router renews LAN addresses every month since only a couple of people use it), and manually forward all of the ports required before it would even pass a connection test.
Now it connects fine, reports a great signal strength, (hovers between 90-95%) and up/down speed, yet takes an incredible amount of time to retrieve game profiles and such. When my room-mate can get onto a server in Call of Duty/other FPS games, he experiences frequent lag spikes and connection drops.
The bizarre thing is that the only thing that has changed recently was the password and the PS3 seems to be convinced the network is fine. In fact, it reports a better connection than my laptop gets. Even the in-game network quality bar hovers between 3-4 bars (out of 4) despite the latency jitter. This problem confounds me since there does not appear to be any issue with the wifi and since it does work on and off. There can't be a port forwarding issue (since such an issue would cause consistent problems).
I have a cable modem which is bridged over ethernet(properly) with a wireless router (which acts as the access point) (Linksys WRT54G) running DD-WRT firmware. After I discovered the problem, I tried tweaking all sorts of settings which could possibly be related (i.e TCP/UDP timeout, beacon interval, MTU, cleared UPnP ports and restarted, forwarded every port I could find that was related to MW3 and PSN, etc), but to no avail.
Note that a few days ago, I set up a web server and forwarded port 80, but as far as I know, the PS3 does not have any services that listen on that port (only outbound). Besides, you'd think that if that was the problem, the connection wouldn't be intermittent, it simply wouldn't work. Either way, removing the port forward rule does not fix the problem.