Homology and (co)Limits I've looked around on MSE and online only to find scattered results, which confuse me. I want to understand how homology behaves with (co)limits. I want to know in particular about singular homology, and in general about homology theories.


Does singular homology commute with arbitrary colimits? Where can I find proof of this? Under what conditions does it behave well with limits?
In A Concise Course in Algebraic Topology, the author proves using the additivity, weak equivalence, and MVS axioms that homology preserves direct limits. Unless I'm mistaken, preserving direct limits is equivalent to preserving filtered colimits. Is this correct? Is there a simpler proof for May's result?




Added:
In particular, I am confused by the answer to this question according to which homology preserves all kinds of colimits.
Singular homology already fails to commute with pushouts. A pushout of spaces doesn't give a pushout of homology groups, but instead gives (maybe under niceness conditions) a long exact sequence. For an explicit example consider the pushout of 

$$D^2 \leftarrow S^1 \rightarrow D^2$$

which is $S^2$. This doesn't induce a pushout on $H_2$. 

Singular homology also fails to commute with products. (Note that the tensor product is not the product in the category of abelian groups, or of graded abelian groups, so even if we're working over a field the Kunneth formula is not a response to this claim.) 

The first fact is in some sense a reflection of a failure to be suitably higher categorical. There is a very abstract description of what it means to compute the homology (not the homology groups, but "the homology") of a space, namely tensoring it with some spectrum, and this construction preserves all homotopy colimits (in fact it is a left adjoint in a higher categorical sense). It's very natural to think about homotopy colimits rather than colimits because taking singular homology is homotopy-invariant, but taking colimits is not, while taking homotopy colimits is. 

Then you have to figure out how to compute homotopy colimits of spaces, and also figure out what a homotopy colimit of spectra buys you once you pass to homotopy groups (e.g. long exact sequences, or more generally spectral sequences).
This is not exactly an answer to your question, except that it is relevant to the question of homotopical invariants preserving at least some colimits. For example, the fundamental group of based spaces does not preserve all colimits: the usual  Seifert-van Kampen Theorem determines the fundamental group of a union $X=U \cup V$ of based spaces if $U,V$ are open and $U \cap V$ is path connected. See  this mathoverflow discussion on this issue. . 

A generalisation of this theorem, dating to  1981, and also involving connectivity conditions,   is given in the 2011 book Nonabelian Algebraic Topology, and concerns in part a homotopically defined functor $\Pi$ from filtered spaces to "crossed complexes", which are a kind of partially nonabelian chain complex with operators. This work does not involve an input from singular homology, although the relation to that is of interest. 

Background to this work is given in this recent paper  Modelling and Computing Homotopy Types: I, which gives a methodology for  the use of colimit arguments  in homotopy theory. 

We also  know that that homology groups as functors from chain complexes to say graded abelian groups do not preserve colimits.