Redsnow is easy to use, it is available for Windows and Mac OS. Pwnagetool can be used to create custom ipsw and preserve baseband, it supports Mac OS only.
Ultrasn0w doesn’t work on iOS 4.3.1 yet (even with iOS 4.3.1 + old baseband). The fix will be available soon. Here’s a warning from DevTeam for unlockers: