There is a slight difference in meaning and, as always, it can depend on context.
A: Where are you?
B: I'm at home. Where are you?
A: I'm still on the train. I'll be home in about 20 minutes.
With "I'm home" as an exclamation to other people in the house, you are not telling them your location ("I'm at home") - that would be pointless. You're shouting "I'm back" or "I've arrived" to let them know you are in the same house as them.
When I drive back to my house late at night from my mum's house, she always asks me to let her know that I got back safely, so when I arrive at my house, I text her "OK. I'm home. Chat soon." I wouldn't put "I'm at home". Again "I'm home" simply means "I've arrived".