I was fielding some questions about debugging problems where a cloth sim was passing through an animated character mesh this afternoon. So, I thought I'd just include a list of the common things to check on when a Blender Cloth or Physics sim doesn't collide correctly.
Disclaimer: I'm by no means an expert or too experienced with the particulars of the Blender cloth sim. However, I have played around with these enough and/or come across enough bug reports on this stuff to have a few ideas about common issues that can occur. Hopefully this will be of some use to someone out there :)
1) Ensure that the cloth/simulated objects and the collision objects are on the same layers as each other
If they do not share at least one common layer, Blender will not "see" the collision object when doing the collision tests. Personally, this is usually the one that has stumped me the most.
2) Ensure that the mesh is set to be a collider/collision object, so that it will take part in the sim
3) You many need to adjust the collision margins (up or down) so that intersections get detected
Collision margins define "how close is too close". Adjust these if you start getting things intersecting - a larger margin forces things apart, preventing cases where things intersect because they were too close to tell apart. It cannot be zero however, due to accuracy issues with the floating-point calculations involved.
4) You may need to reduce the size of the timesteps (i.e. make them shorter/more frequent)
This applies if the cloth may be moving too fast between timesteps. Reducing the size of timesteps helps the sim keep on top of how the cloth is changing, and to keep all the forces nice and sane
5) Adjust the type of collision shape used (i.e. box/cylinder/etc., dynamic vs static, etc.)
6) Check on order of modifiers on the animated mesh - if there's a collision modifier or something like that, ensure it's after the deforms so that you're using the deformed position. Also check for similar settings in the physics properties.
7) Make sure that the normals on the cloth are all pointing in the right directions
8) Ensure that you've given sufficient time for the cloth to settle before going into the animation (but that's assuming that it didn't just go through the mesh immediately upon contact, while stationary in restpose)
9) Make sure that none of the objects involved have any object scaling applied
10) Ask a real cloth sim expert... apparently they're in high demand though :)