There are so many tools, some for Mac OS, others for Windows, different versions… Complicated. So let’s summerize a little bit.
If you have iPhone 3G, you’ll be able to install 3-rd party non AppStore applications (through separate applications called Cydia and Installer) and run these applications. If you have old iPhone, in addition to that you’ll be able to unlock the device (use with any carrier).
There are two methods: quickpwn and custom firmware method. First one is for quikly pwning and jailbreaking the device without restore. You should use it if you have unlocked device or an AT&T contract.
If you are Windows user:
Go for WinPwn. The current version is 2.5.0.2 (also called 2.5 beta-2). Download here. It supports both iPhone and iPhone 3G, firmwares 2.0, 2.0.1, 2.0.2. You can use either quickpwn or custom firmware method.
There is a separate QuickPwn tool for Windows. The current version is RC3. Download here. Do you need it? Yes, if you want to quick pwn and you do not like WinPwn (or you had problems with it).
If you’re using Mac OS:
Go for PwnageTool. The current version is 2.0.3.1. Download here. Works with 2.0, 2.0.1, 2.0.2 firmwares using custom-firmware method.
There is a version of QuickPwn tool for MAC OS. The current version is 1.0.0. Download here. It works only with firmware 2.0.2. Do you need it? Yes, if you want to quick pwn.
QuickPwn is not a replacement for PwnageTool, they are different tools and provide different features, QuickPwn is for quickly pwning a device, whereas PwnageTool is designed to custom build and tailor the ipsw production process, both tools will be actively developed in the future.
Recently a new project has been started, called XiPhone. It will be based on XPWN. So functionality similar to WinPwn and Pwnage will be present (jailbreak, unlock, etc). In addition to that developers plan to include:
Auto downloading of stock firmware files from apple’s site (no need to hunt for it then select it)
Wizard based modern GUI (created with .net 2.0), and Vista Style UI.
Export of firmware settings so users can pass around an XML file which contains a configuration that works for them.