Hi Zee,
Within any Effect (or corresponding HLSL file), there can be multiple techniques. Think of a technique as a specific style of drawing. Each technique is made up of one or more passes. Most of the Effects you'll be using as a beginning programmer will have only one technique in it, and the techniques you'll be using as a beginning programmer will likely have only a single pass - meaning your geometry will only be drawn once. However as your rendering code gets more complex, you may have more textures to draw than can be sent to the video card in a single pass, or you may be attempting some other technique that requires your geometry to be drawn multiple times. In this case, you frequently take advantage of frame buffer alpha in order to blend each of the pass together.
That foreach loop reads exactly as it is written. For each pass in the current technique, apply the vertex and pixel shader and then draw the Geometry.
As you're probably using BasicEffect, which has only a single pass, it's also safe to just say:
effect.CurrentTechnique.Passes[0].Apply();
graphics.GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleList, vertices, 0, 1,
VertexPositionNormalTexture.VertexDeclaration);