Water can break rocks, and wear rocks away using pressure, and usually a lot of time. A lot of water over months and years polishes rocks in a stream, and the same thing happens over time to larger rocks. Large canyons are carved out by rivers and streams over long, long periods of time. Look at beaches. The sand didn't start out as sand... it started out bigger, but it gets slowly reduced in size by the water, and then carried somewhere else, and deposited on the beach. That is why there are beaches beside some rivers as well... the river takes soil and rocks away from one area, and dumps it somewhere else... Nature's construction crew. Many caves were formed by underground water pressure over a long time. Some rocks are harder, and some are softer... so the soft rock wears away before the hard rock, leaving holes in the middle, which is where the caves are now.