Lo malo de esto es que si tienes 3 imagenes que pesan 1mb y lo haces con css de misma forma estarias cargando 3mb... Igual esto depende del usuario pero si es una galeria por ejemplo, sería mas util usar php para hacer las thumbnail o bien editar tu mismo las imagenes xD
Como todo, depende de que te interese para hacer la galería, pero en ningún caso usar PHP con GD sale bien parado (bajo mi punto de vista).
Hay tres opciones:
1. Cada vez que MUESTRES el thumbnail, crearlo desde la imagen original con GD, con lo que estás gastando procesamiento del servidor tontamente.
Ventajas: no gastas espacio en el servidor
Desventajas: Gastas procesamiento del servidor
2. Cada vez que SUBAS una imagen, crear su thumbnail con GD y guardarlo junto a la imagen original.
Ventajas: gastas bastante menos procesamiento del servidor
Desventajas: gastas espacio en el servidor
3. Cada vez que muestres una imagen, generar el thumbnail con CSS y mostrarlo
Ventajas: no gastas espacio en el servidor y el servidor no gasta procesamiento en generar el thumbnail (lo hace el cliente).
Mas ventajas: como el cliente tiene que descargar la imagen completa para generar el thumbnail, a la hora de mostrar la imagen completa no tendrá que esperar porque la tiene cacheada
Desventajas: Tiene que descargar la imagen completa (¿Es realmente una desventaja?). ¿Estándares?
Un saludo