Halo 3 is my favorite SP and MP FPS of all time.
I think my second pick would be Halo Reach.
EDIT: Damn, Halo Reach was ridiculous! For multiplayer I would say it's between Halo 3 and Halo Reach, Firefight is amazing! But Halo 3 is home to some of my favorite Halo maps like Guardian so I would pick that overall just because of the maps I like. Otherwise, if they were in Reach I would say Reach. Both games have my favorite multiplayer maps in the whole series.
For single player I think I would say Halo 3, although Halo Reach's campaign was exceptional.
EDIT 2: You know what, I take it back. Halo Reach is my favorite SP and MP FPS of all time. Halo 3 is my second pick. I put Reach over 3 because of the Multiplayer.
EDIT 3: No, Halo 3 is favorite SP and MP FPS of all time. Halo Reach is a close second though.