If I mark a post to be viewable by public, does it mean it is viewable to all my circles? Or should I add the post to my other circles even after marking it as public?
Public posts on your Google+ stream are visible to:
It is not necessary to add people to circles if you want them to see posts marked "Public".
Public posts are just that - public. Anyone who has you in a circle that is visible in their stream will see it in their stream, and anyone who looks at your profile will be able to see it directly.
People often add additional circles, or individuals, to the post destination to (hopefully) trigger a notification for that person. This notification is via email and/or the red notification box. This is not guaranteed to work, however, since Google+ imposes a limit on how many notifications can be sent from one message, and the individual receiving a message may have muted you.