Usar la función reducir para devolver una matriz

¿Por qué es que cuando quiero usar la función push dentro de la función reduce para devolver una nueva matriz obtengo un error? Sin embargo, cuando uso el método concat dentro de la función reduce, devuelve una nueva matriz sin ningún problema.

Todo lo que intento hacer es pasar una matriz a la función reducir y devolver la misma matriz.

var store = [0,1,2,3,4];

var stored = store.reduce(function(pV,cV,cI){
  console.log("pv: ", pV);
  return pV.push(cV);
},[]);

Esto devuelve un error. Pero cuando uso concat:

var store = [0,1,2,3,4];

var stored = store.reduce(function(pV,cV,cI){
  console.log("pv: ", pV);
  return pV.concat(cV);
},[]);

Devuelve la misma matriz.

Alguna idea de por qué?

Respuestas a la pregunta(4)

Su respuesta a la pregunta