I used to use iPhoto, but I found photo management to be extremely limited. Photos are stored in "Events". That's it. You can't store events inside events. So for example, if you had 10 vacation events, and 10 birthday events, you'd be staring at 20 evens in no particular order. It would be nice to have 2 events: Vacations and Birthdays. Inside the one event are all your Vacation events, and the other, your birthday events. But sadly, with iPhoto, this can't be done.
You need the photo management that Aperture 2 can offer. You can put your pictures in Projects, which is similar to Events. You can then sort your Projects into folders, and subfolders.
Projects vs. Events:
With iPhoto, I find it hard to find an Event when I have to scroll through 500 events containing over 23,000 pictures and hope that the Event I want "jumps" out at me. With Aperture 2's "Finder-like" approach, it's so much easier to locate pictures by the name of project/folder.