Theorem 2.27 (a) in Baby Rudin: Is his proof complete enough? Here's Theorem 2.27 (a) in the book Principles of Mathematical Analysis by Walter Rudin, 3rd edition: 

If $X$ is a metric space and $E \subset X$, then $\overline{E}$ is closed. 

Now here's Rudin's proof: 

If $p \in X$ and $p \not\in \overline{E}$ then $p$ is neither a point of $E$ nor a limit point of $E$. Hence $p$ has a neighborhood which does not intersect $E$. The complement of $\overline{E}$ is therefore open. Hence $\overline{E}$ is closed. 

Is the above proof good enough, especially at the level Rudin is intended for?
Now here's the proof I propose: 

If $p \in X$ and $p \not\in \overline{E}$ then $p$ is neither a point of $E$ nor a limit point of $E$. Hence $p$ has a neighborhood which does not intersect $E$. Let $N_\epsilon (p)$ be this neighborhood. 
Now we show that no point of $N_\epsilon (p)$ can be in $\overline{E}$. Let $q \in N_\epsilon (p)$. Then $d(q,p) < \epsilon$, where $d$ denotes the metric on $X$. 
Let $\delta \colon= \epsilon - d(p,q)$. Then $0 < \delta < \epsilon$. Now if $a \in N_\delta (q)$, then $d(a,q) < \delta = \epsilon - d(q,p)$, which implies that $$d(a,p) \leq d(a,q) + d(q,p) < \epsilon,$$
  and so $a \in N_\epsilon (p)$. 
Thus we have shown that $N_\delta (q) \subset N_\epsilon (p)$. Since 
  $ N_\epsilon (p) \cap E = \emptyset$, we have $N_\delta (q) \cap E = \emptyset$ as well. That is, the point  $q$ has a neighborhood --- namely  $N_\delta (q)$ --- which does not intersect $E$ at all. So $q \not\in \overline{E}$. 
But $q$ was an arbitrary point in $N_\epsilon (p)$. So $N_\epsilon (p) \subset \left( \overline{E} \right)^c$. 
But $p$ was an arbitrary point in $\left( \overline{E} \right)^c$. Thus, we can conclude that every point of $\left( \overline{E} \right)^c$ is an interior point. Hence $\left( \overline{E} \right)^c$ is open. 

Now is my proof any better than Rudin's? Are there any extra advantages to be had from inclusion or exclusion of extra details?
 A: I would say that your proof is better. I would assume that he missed a detail, and left out a proof that if it holds for $E$ then it holds for $\overline{E}$. Certainly, if I were grading a course I would mark his proof as incomplete - even in a course not for first or second years. Especially since his book is a standard introductory text for first and second years, I think this oversight is problematic.
As a commenter notes, authors have a habit of increasing the details they omit as time goes on, out of a combination of laziness, a desire to save space, and a desire to write less, but at chapter 2 of an intro book rigor should be the standard.
A: I believe that the part of the proof that confuses you would be between the two sentences

Hence $p$ has a neighborhood which does not intersect $E$.

and

The complement of $\overline{E}$ is therefore open.

So for now, the problem is that it is not clear why such neighborhood cannot include an element of $E'$. And if it can, then it will not be an interior point of $E^c$, then $E^c$ will not be an open set since there exists a point $p$ that is not an interior point.
In another word, we now have $\exists r>0.\,\forall q\in N_r(p).\,q\notin E$, but in order to finish the proof, we need $\exists r>0.\,\forall q\in N_r(p).\,q\notin \overline{E}$.
Do you see the logic gap here? Well, perhaps for Professor Rudin and his students, this is too trivial to even bring up, but for us who are reading the textbook and studying mathematical analysis, formalizing the proof filling up this gap is undoubtedly beneficial.
The goal is to prove the following statement.
$$
\forall r>0.\, N_r(p)\cap E=\emptyset\implies N_r(p)\cap E'=\emptyset
$$
Because once this is proven, it suffices to say, after the first sentence, that such neighborhood of $p$ will not intersect $E'$ thus $\overline{E}$, too.

Now carry out the proof by reductio ad absurdum.
First, we have the assumption $N_r(p)\cap E=\emptyset$, and we assume that $N_r(p)\cap E'\neq\emptyset$.
Now the latter statement basically means that
$$
\exists q\in N_r(p).\,\exists S>0.\,\forall s\in(0,S).\,\exists e\in E.\,e\in N_s(p)
$$
Denote $\xi=r-d(p,q)$, thus $N_\xi(q)\subset N_r(p)$, then take a specific $S=\xi$, there will be a $e\in E$ for any $s\in(0,\xi)$ such that $e\in N_s(q)$. 
Trivially $N_s(q)\subset N_\xi(q)\subset N_r(p)$ since $s\in(0,\xi)$.
Now, we have both $e\in N_r(p)$ and $e\in E$, which contradicts the premise of the proposition we wish to prove, which concludes the reductio ad absurdum.

This part confuses me at first, also, and yes, your proof also works.
I understand what you wish to say: Each point $q$ in $N_r(p)$ is not an element of $E$, then for each of them it will not be a limit point of $E$, an element of $E'$, thus not an element of $\overline{E}$, since $\exists \xi=r-d(p,q).\, \neg\exists\mu\in E.\,\mu\in N_\xi(q)$ (for this part you are saying the same thing as I), which concludes that $N_r(p)\in\overline{E}^c$.
