하지만 is used mostly in writing so when used in speech, it sounds insistent/sharp.
In Jaewoo Kim's examples, 그런데 comes across as 'unlike the ground's expected to get wet' or 'although it rained'. I figure it's because 그런데 originaly roots from '그러하다', which means 'to be like that'. 그러하 + ㄴ데 = 그러한데 ⇒ 그런데 ⇒ 근데. It rained, but unlike it's expected to get wet, the ground didn't get wet.
When you speak, I'd suggest you use just 근데.