What causes a volcano?
Most volcanism occurs at three major tectonic features: Subduction Zones, Rifting Centers (Like East Pacific Rise) and under hotspots. 

I will start with the most contentious, hotspots. The clearest example of hotspot volcanism is the island chain Hawaii. Underneath the island, there is a chaotic discontinuity caused by the boundary conditions at the core-mantle boundary. This causes highly viscous and hot mantle to upwell rapidly and push through the lithosphere, forming a volcano. The orgin of hotspots is not well known, and it is even a debate if they exist (they do, imo). Some papers worth looking at are by Paul Hall (BU) and Christopher Kincaid(URI), and maybe Dave Stegman (Scripps) who publish on melting caused by mantle plumes.

As a consequence of a subducting slab, at a distance in front of the trench, Arc Volcanoes form. The distance in front of the trench is often thought to be where the overriding plate is 100-120km higher than the suducting slab. The cold, oceanic plate plunges underneath the continental plate in the image above, adding water to the mantle. This water lowers the melting temperature (solidus) of the mantle inside the wedge of the subduction zone, causing  partial melting (4-6%). This melt, more viscous and buoyant than the solid mantle, floats to tho the top of the mantle and eventually penetrates the lithosphere and forms a volcano. This question is also relevant. 

Finally, at divergent plate boundaries, the process is fairly straight forward. A break in the lithosphere caused by rifting plates allows the pressurized mantle to flow towards the opening. This causes and abundance of hot, fertile mantle which can be melted.  This melted mantle creeps through the lithosphere and forms ocean floor volcanoes (sometimes called smokers).