Yes, there's a difference:No, there's no difference:
If you share with only one circle, then only people in that circle will see it, ever.
People who have you in their circles will see your post in their stream, regardless whether they are in your chosen circle or not.If you share with one circle and public, then everybody that has circled you will see it in their stream, and every stranger who stumbles across your profile can also see it.
People who don't have you in their circles will see your post if they visit your profile.
So you must avoid _public if you want to keep it a secret that only that one circle knows.