If the recipe is widely available, I tell them. I don't give them the recipe but I'll say, "It's Confetti Cakes' recipe" or something like that.
If it's based off a widely available recipe I'll say, "It's a tweaked version of Confetti Cakes' recipe."
If it's a recipe I've gotten from someone and cannot share I'll say, "I was given the recipe with strict instructions to share it with no one. However, another really good recipe is Confetti Cakes'. I think you'll really like it."
I don't have any recipes that I feel are truly my own, just tweaked versions of other recipes, so I don't have a response for that. If I did, I suppose I would say, "Thanks so much for the compliment. I wish I could give you the recipe, but it's my secret recipe. Have you tried Confetti Cakes' recipe? It's quite good, too."
I don't get too freaked out about it. After all, if someone could bake and decorate like I do, they wouldn't be my customer. Additionally, my cakes are usually for those occasions where the host, even they could do it, do not have the time to do so because they've got the rest of the event to plan and execute.
Overall, I try to make the conversation one where the asker goes away with enough of an answer to be satisfied without doing harm to my business.