There is a physical limit to how small the LCD panel manufacturers can make each pixel on the screen and still make them cheaply. You aren't going to find a TV under 22 inches that has a panel with true 1920x1080 resolution, and even then, you won't find an inexpensive small one with with true 1920x1080 resolution.
However, unless they are sitting about 3-4 feet (or about 1 meter) away, a human being with average eyesight won't notice a significant difference in the picture they see on a small 720p TV and the picture they see on a small 1080p TV of equal quality.
Contrast ratios are frequently exaggerated by the manufacturer. Don't believe them. Try to find reviews from people who these TVs and see what they say. Without any reviews to go by, I'd pick the Vizio. Vizio has a good reputation among inexpensive TV brands.