[Taken from (my) secretmrx's guide iSeminar: A Beginner's Guide to the iPhone]
Over time things change, and the iPhone is no exception. Back in the 1.0.x days, unlocking was an ugly process, and jailbreaking was a manual process. Flashy tools were not available that did it all in one click, tasks were performed in iPHUC and Terminal/DOS Command Line environments.
When 1.1.1 came along, the iPhone DevTeam (much smaller than they are now) released a manual way of upgrading that involved leaving a symlink to the root partition in the media partition, then doing an “update.” Later on, an exploit was discovered in MobileSafari which allowed code to be run when MobileSafari thought it was opening a .TIFF image. This was truly one-click, and no computer was required to do it. Simply put, you visited jailbreakme.com in your browser, clicked on the link and MobileSafari crashed, sending you back to the “Slide for Emergency” screen. iPhone then rebooted, and woke up fully activated and jailbroken (with Installer.app added).
Now it is a lot different, Apple have patched a lot of bugs, and significant exploits have been discovered. One of those significant exploits was the discovery of the Pwnage Exploit that allowed a patched iBoot to be flashed over, opening up hundreds of doors to users and developers alike. Along with the Pwnage exploit came BootNeuter, the ultimate unlocking tool for first gen iPhones. BootNeuter was great news for everyone, now Bootloader versions do not matter.
How are we doing now? As of the time of writing, the iPhone 3G has just been unlocked, with the Second Generation iPod Touch to be looked at in the 2008/2009 New Year. No device is overlooked - iPhone owners, developers and hackers are a determined and hard working group of people. The Dev Team can be attributed to millions of iPhone sales, for in firmware 1.x, iPhone OS was one of the most boring platforms out there. Opening it up to the owners of the devices was a great sales incentive, and Apple should never forget this.

















