Me preguntan por twitter esta diferencia, lo contesto aquí y lo enlazo. :D
Los templates de XCode parten de distintos puntos para mostrar como se hacen las cosas. El más básico de ellos, el que carga la aplicación, el delegado de aplicación y la ventana es el Window-Based.
Window-Based
Nos proporciona el punto de partida más básico. Como tiene que crear una ventana de un tamaño, nos da opciones para seleccionar si el proyecto inicial será para iPhone (320x480 puntos), iPad (1024x768 puntos) o Universal. En ese último caso nos creará las estructuras para la gestión de las ventanas (parte "Vista" del modelo MVC) y los delegados (parte "Controlador" en el modelo MVC) en función de que dispositivo nos esté cargando.
El problema. Aunque todo esto sigue una estructura MVC, no es "reutilizable". Porque utilizamos como controlador base al delegado de aplicación.Además, las ventanas no tienen viewcontroller, por lo que no pueden recibir eventos. :/
View-Based
Sería el siguiente paso. La aplicación se crea igual que en el caso anterior. Y la ventana también. Pero el template añade una vista en la ventana y un controlador de vista para gestionarla. Es más "modular". Podemos "reutilizar" el bloque MVC. Ahora si que necesitamos saber si estamos en iPhone o en iPad porque no tienen sentido basarnos en algo "visual" y no saber que tamaño va a tener. Luego no hay template para el caso "universal".
Conclusión
En general, yo recomendaría comenzar en Window Based application y seguir desde ahí. Las instrucciones que hacen falta para convertir el window-based applicacion en un view-based application son pocas (debería hacer un screencast de eso... :D) y si entiendes el proceso es una chorrara. De cara a posteriores ampliaciones lo veo más claro.
Espero que te haya sido útil. Cualquier aclaración, continua la pregunta en este hilo. :D
--
"Tengo artículos prohibidos de lugares
en los que el hombre no osa aventurarse.
También tengo yogur helado,
al que llamo Yogurlado."
http://www.mazcunan.net/