There are a few reasons why you are sounding better at home, than anywhere else.
First, I’m sure you are most relaxed when you are at home. Being relaxed when you sing will stop constriction and allow your voice to resonate.
Second, your volume. There is a good chance you are trying to sing too loud in your band, or at karaoke. Check your volume. Try not to let the outside noise influence how loud you are singing. Try to internalize the sound of your voice to make a beautiful tone “within your head”. Make sure you anchor your stance and engage your chest and ribs for a supported sensation. If you have a microphone, this will help you. If not, the audience will need to be quiet, and listen!