Yes, there's a difference: - If you share with _only_ one circle, then _only_ people in that circle will see it, ever. - 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. So you must avoid _public if you want to keep it a secret that only that one circle knows.