The main reason why tomatoes will not ripen is the weather (like Tutter suggested.)
Tomatoes love to ripen in a range of 68-75 degrees. Lycopene and carotene production halt after 85 degrees, these are what cause the red color in tomatoes. The farther you get from this and the slower they will ripen. If it's too hot you may be able to shade them a bit and force them to ripen.
A few things to remember also. Larger beefsteak tomatoes will ripen a bit slower and they tend to ripen unevenly, especially heirlooms. Pick them when the bottoms are dark red even if the tops are a bit green/yellow/orange still. This will help against rot.
Also, never refrigerate your tomatoes. One of the biggest reasons garden tomatoes taste so much better is because they have never been put through cold. Once tomatoes go under 45-50 degrees all flavor is lost.
We have 14 tomato plants with at least 10-15 tomatoes on each and they are all still green too so I feel your pain! I'm craving some fresh salsa really bad and I want them to hurry up!