Les différentes solutions offrent différents intérêts :
* GIF: aucun pour la photo.

En GIF, on est en 256 couleurs, ça va postériser dans tous les sens. Et gérer des fondus en 250 couleurs...
* HTML + JavaScript :
+ pas besoin de plugin
+ chargement plus rapide que du flash
+ plus standard (même si Flash approche les 100% de parts de marché dans les faits)
0 côté référencement, on n'y gagne pas grand chose: en AJAX, les images ne sont pas plus visibles par les moteurs de recherche qu'en Flash. Si on est pas en AJAX, on gagne en référencement, mais on ralentie considérablement le chargement de la page.
- Javascript est plus complexe à programmer que les solutions Flash (ou Flex), moins facile à mettre au point et à tendance à bugger un peu. Tant qu'il s'agit de récupérer du code existant, ça va, mais pour partir de 0 et tout faire soi-même, on perd rapidement du temps en mise au point.
- Les effets de transition sont moins riches qu'en Flash
- JS a tendance à ramer quand on lui demande des choses vraiment trop compliquées
Flash :
+ Différentes approches de programmation disponibles, entre Flex (pour les développeurs) ou Flash (pour les graphistes)
+ Flash est dans son milieu: les effets sont magnifiques, simples et rapides à exécuter. Et le seront encore plus avec Flash 10 qui fera appel au GPU et aux shaders.
+ Flash (et surtout Flex) gère très bien et simplement les transitions, les chargements à la volée...
+ Récupérer les images affichées dans du flash est nettement plus compliqué: on risque moins de les retrouver dans Google Images, de se les faire voler, d'avoir des liens sauvages sur l'image...
- Le référencement est inexistant. Mais c'est aussi le cas en AJAX, les deux technos sont à égalité sur ce point.
- le player doit être installé et à jour. En pratique, il l'est très souvent.
- temps de chargement du player.
- complexité supérieure au JS (mais qui devient inférieure sur les projets compliqués, parce que la solution est mieux structurée et moins bricolée).
De toute façon, pour un non-développeur, tu vas partir d'une solution existante. Les deux se valent un peu, ça va surtout se jouer sur des critères esthétiques, de fonctionnalités et de facilité d'usage.
Il faut aussi voir où sont les images. Par exemple, on trouve beaucoup de solutions qui utilisent Flickr comme source d'images (parce que leur API est très complète).