I went (*to) home(The asterisk inside the brackets means that it's ungrammatical if you include to.)
And it has to have one if it's an adverbial phrase (optional extra information about the event):
I worked *(at) home today(The asterisk outside the brackets means it's ungrammatical without at.)
There are some verbs where the preposition is optional, such as stay:
I stayed (at) home.I think there might be some regional variation on that one, though I'm not sure.
But when it's with be, omitting or including the preposition gives a meaning difference. I ran a twitter poll to make sure I wasn't alone in this, and found overwhelming agreement with my judgements. In a context in which I've been for a night out and want to tell my friend that I've arrived back at my house safely, I would say I'm home. If my friend had rung my and wanted to know where I was, I would say I'm at home. I could use either in either context, but both I and those who responded to my twitter poll felt that the distinction above was right. So that preposition at being pronounced has a kind of locative meaning - location in a place - while omitting it has some sort of directional meaning - movement to (or arrival at) a place.