One reason we may shy away from sharing our faith is the sense of our own hypocrisy. We know we're not pure, loving, joyful, at peace, kind, giving, prayerful, disciplined, holy, self-controlled, or any other measure of spirituality we can identify. So we don't talk about it.
The vehicular equivalent is not putting a fish on your car because you drive like a hellion. Probably a good play.
We can all identify with the hypocrisy part, whether it be the I'm-not-perfect-but-I'm-still-trying kind or the I-don't-care-that-I'm-a-hypocrite kind. We say one thing and do another. We try but fail. All of us are imperfect. All of us miss the mark. We'd probably all be better off if we said this out loud to one another without allowing it to become the excuse for lack of transformation. But I digress.
True, if you're an unrepentant hypocrite, you do more damage than good when you share your faith. In fact, please don't tell people anything about Jesus. Pastors who are in adulterous relationships. People known for their faith at their workplace but cheat on their expense reports. Neighbors who rush off to church but can't help but gossip. None of these are good examples. None of these provide a credible witness.
But the fact that we fail and live imperfectly is precisely why we need to be vocal about our faith in Christ. Jesus takes broken, failing, imperfect people and does pretty amazing stuff with them. Peter failed. Three times. But then Pentecost. Three thousand came to trust Christ through Peter's ministry.
God can and does use the imperfect when they're humble. He certainly uses their imperfections to humble them. So pursue Him. Let Him change you. Open your mouth about His work in your life. People will appreciate the honesty.
But that's just me thinking thoughts...