The only stated reason I've heard is "the code is ugly," which was found to be... unconvincing here on HN.
Are you aware of another reason, specifically one which would be convincing?
It had everything to do with fragmentation. Honeycomb (by Googles admission) was a stop-gap to get something out for tablets. They chose not to release the source as they wanted to limit the number of devices shipping with honeycomb in favor of a more compatible (and developer friendly) version in ICS.
The stated reason wasn't that the code was ugly, it's that it didn't translate to phones at all; Honeycomb was only ever really good for tablets. There was concern that manufacturers/homebrewers would put it on phones and that doing so would make android look like shit.