Q:

Active Directory config: Can Someone explain conflicting information?

If you look at Microsoft Best Practices for setting up a new Forest/Domain they make some recommendations that conflict with other recommendations online and are not followed by any of the companies with which I have ever worked.
For example, best practices specify to use DNS names registered with an Internet authority in the Active Directory namespace because they are globally unique. Then they recommend to add a prefix to the registered DNS name to create a new subordinate name. For example, if the DNS root name is contoso.com then you should create an Active Directory forest root domain name such as concorp.contoso.com ...
In very many places I see recommendations against using the Internet Registered names because of routing of internal network traffic to the external IP and problems with DFS shares. I also rarely see companies use the "corp.company.com" naming scheme for the domain. They typically use something like "company.com" or "company.local".
Lastly, the best practices recommend leaving the root domain empty for the management of the domain and creating a single global child domain. Following this practice would result in domain names like "domain.corp.company.com" which I have never seen implemented.
Are there reasons the best practices aren't followed or are they being followed and I'm just not looking at it right to see the structure?

A:

Too bad I wasn't awake for the party, eh? I'll take a crack anyway.
I taught MCSE classes for several years, and Microsoft's recommendations were always fairly consistent between their various training materials. 

Don't use a domain name you don't own for your Active Directory domain name (i.e. microsoft.com).
Don't use an FQDN for the domain that other DNS servers are already authoritative for (i.e. company.com)
Do use an FQDN for the domain that is globally unique (i.e. ad.company.com, corp.company.com).

I believe the ".local" TLD "recommendation" started about the time of Windows Small Business Server 2003. The ".local" TLD is not reserved by ICANN though it's doubtful, at this point, that it would ever be used "for real" on the Internet (the Zeroconf protocol has dependencies on the ".local" TLD, too, I believe). 
I've been in too many environments where "company.com" got used for the AD Domain name, necessitating stupid ugly hacks involving manually copying DNS records from the Internet DNS servers into the DNS servers supporting AD. I've answered a boatload of questions on this site that came down to this poor domain name choice causing hacks to have to be implemented (having to run web servers to do redirects to the "real" "company.com" web site on every AD domain controller, etc).
I don't know why companies persist in doing the "company.com" naming scheme for AD domains. It only creates problems. There isn't any good argument why you should do it, and it "goes against" the basic tenet of DNS that only one set of DNS servers in the world should be authoritative for a given DNS domain name. (I often hear the "UPN suffix" argument. If you want users to have a UPN suffix of "@company.com", for example, you can do that w/o actually naming the domain "company.com". All your users can have "@whitehouse.gov" UPN suffixes if you want, regardles of the domain's name...)
I've always been partial to "ad.company.com", myself.

The "empty root" domain idea is purely a political construct. Originally (W2K timeframe) Microsoft touted "empty root" as a way to have isolation of security concerns between parts of an organization while still having a single AD infrastructure. Fortunately, they've let up on this attitude (though they haven't necessarily gone back and corrected all the documents that were erroneous) since it's been demonstrated that any member of "Domain Admins" in any domain of the AD forest can, fairly easily, make themselves into members of the "Enterprise Admins" group.
So, today "empty root" is only ever really used for political purposes. I would argue that there's no place for it at all because it adds needless complexity (never, ever have a multi-domain environmnet where a single domain environment will do) and offers no real advantages.
If you want security isolation between concerns in your organization you must use a multi-forest deployment (which is absolutely the least fun kind of environment and to be avoided at all costs).

