Doesn't the JVM handle this when you set the tz? Otherwise...how is it different than just setting a clock?

They're two different timezones. One is a UTC offset and one is a dynamic timezone (DST).