Initializing is great... unless you have no control over the contents.
Consider this:
String strTmp = String.Empty;
strTmp = SomeRandomMethod();
Now anything you try to do with strTmp (other than compare to null) will cause an exception - inlcuding the original tip:
if (strTmp.Length == 0) {
}