For my photo-gallery I wanted some peculiar features: a drupal-node for each element (photo) related to a drupal-node for each album, a fully featured gallery without using on of the out-of-the-box gallery modules (I didn't like media_gallery and node_gallery).
- Photos are nodes, not fields: you can use all Drupal potential dealing with them :-)
- You are free to use any standard “views” or views-submodule to display your gallery*.
- Images files are stored in Date/Album folders.
- Photos-nodes are referenced to their album automatically and since the upload.
- Bulk upload function.
- Bulk edit photo Captions (or tags or whatever you want).
- Bulk reorder items function.
- Publish/Unpublish an album in one click.
- Select manually which photo has to be the album-cover.
- Child albums inside parent albums.
- No theming/styling: everything is done via modules set-up, you don't need to edit any code.