Para empezar a mi me parece lo mejor empezar en un host gratuito hasta ver que el proyecto toma forma y ahi pagarte un hosting, por lo del dominio lo mejor es posicionar tu propio dominio.
Mi experiencia:
Una vez me cree una cuenta en 000webhost, y me la cerraron al mes por inactividad (esa es toda mi experiencia con ese hosting). Yo prefiero byethost.com, (aunque las debes configurar las páginas 404 ya que aparecen painas con bastante publicidad de byet)(aparte de unas caídas de segundos), en cuanto al dominio los co.cc solo son gratis el primer año, de ahi te cobran creo como 3$, otras alternativas son uni.cc (estas solo permiten ingresar 2 dsn, en mi experiencia fue muy dificil integrarlo con byethost ya que aveces aparecia la página y otras no), además esta tambien cjb.net (no lo he probado), aparte de los clásicos .tk y .com.ar