[eluser]BrianDHall[/eluser]
One big question here is how you want to use the gallery, and its functions. The reason I bring this up is this: on the front page do you want to be able to do something like "show last 10 new gallery submissions", or "top 5 gallery submissions", etc?
Since it seems logical to me that you want to use gallery functions elsewhere. I think you'd go for something just a touch different than what has been mentioned so far.
First, lets say you will want to allow users to submit their own pictures, have sets of related pictures (like "See last weeks tournament pictures", etc), maybe even rate or tag pictures. For the "user_admin" sort of functions like this, you could easily use a special controller - and then probably use the same controller for admin_only functions like approving photos, removing, categorizing, etc.
Now the controller controls what you might call "changes" to the model - the view might have a form for new picture submission, and the controller handles that function and then the model comes in. Once you have the file uploaded you might call $this->Gallery->add_picture($path, $category) - and then the model handles organization, saving information about where pictures are, etc.
The model might have functions like add_picture, remove_picture, get_related_photos, get_photos_by_category, get_thumbnail, whatever you need. One bit of advice - I just like writing functions as I actually need them. Any time I code a bunch of functions ahead of time I end up rarely using any of them. I should think this would encompass one table in the database and some file system functions, but YMMV.
For views you just keep in mind some might want to be used in multiple places, but not a big worry. You could easily have a partial view that handles displaying a 'box' with rows of pictures from a certain category, etc.