Minecraft wiki entry for Sapling, associated text: Saplings can grow only if a player is within a certain radius, even in loaded chunks. For oak saplings, this check applies to individual blocks; for dark oak, acacia and birch, it applies to each chunk.
A spruce or jungle sapling can't grow if it's part of a 2×2 square of saplings that doesn't meet the requirements for a giant tree.
Except for giant jungle and giant spruce (as noted above), sapling growth is not affected by nearby blocks on the same level as the sapling(s).
A hanging mangrove propagule cannot grow into a tree.