So, it's been four years, but for the sake of completeness, I'd like to point out that your answer is indeed correct.
Instead of using maximality, you can use the following result, if you'd like:
Given a set $X$ and a filter $\mathcal{U}$ on it, then $\mathcal U$ is an ultrafilter iff for every $Y\subseteq X$, either $Y\in\mathcal U$ or $X\setminus Y\in \mathcal U$.
From that, take $X$ a finite set. Then $\mathcal{P}(X)$ is also finite and, therefore, any ultrafilter on $X$ is also finite.
Let $\mathcal U$ be such an ultrafilter. Since it is a finite filter, $\bigcap \mathcal U\not=\varnothing$. Let $x\in\bigcap\mathcal U$ and $\mathcal{U}_x$ be the principal ultrafilter on $x$. Then, as you've said, clearly $\mathcal U\subseteq\mathcal U_x$.
Conversely, though, notice that every element $Y$ of $\mathcal U_x$ either belongs to $\mathcal U$, or its complement $X\setminus Y$ does. But if $X\setminus Y\in\mathcal U$, then $x\in X\setminus Y$ (since $x\in\bigcap\mathcal U$) and, therefore, both $Y$ and $X\setminus Y$ contain $x$ - a contradiction.
It follows that $X\setminus Y\not\in\mathcal U$ and, since $\mathcal U$ is an ultrafilter, this implies that $Y\in\mathcal U$, which shows that $\mathcal U_x\subseteq \mathcal U$ and ends the proof.
EDIT:
Based on a comment by Daniel Schepler, I've decided to add more to this answer.
You can actually prove that $\mathcal U\subseteq \mathcal P(X)$ is an ultrafilter iff whenever you write $X$ as a disjoint union of (at least!) three sets, precisely one of them is in $\mathcal U$. From that, if $X$ is finite, we have three cases:
If $X$ is a singleton, then there's a unique ultrafilter, which must be principal;
If $X$ is a two-point set, then we can use $X=\{x_1\}\sqcup\{x_2\}$ and my original answer to conclude that any ultrafilter is either principal over $x_1$ or $x_2$;
Finally, if $X$ has at least three elements, then writing $X=\{x_1\}\sqcup\{x_2\}\sqcup\cdots\sqcup\{x_n\}$ and using the fact that $\mathcal U$ is ultrafilter, we get that there's a unique $x_i$ such that $\{x_i\}\subseteq \mathcal U$, and we can then prove that $\mathcal U$ is indeed principal over such $x_i$.
For more on this, I'd recommend reading Tom Leinster's "Codensity and the ultrafilter monad", specifically Proposition 1.5 on page 5.
Yes, an ultrafilter which contain a finite set is principal. To see why, note that if $A$ is this finite set, then either some $a\in A$ satisfies $\{a\}$ is in the ultrafilter, in which case it is principal; or else $X\setminus\{a\}$ is in the ultrafilter for all $a\in A$, so the finite intersection $A\cap\bigcap_{a\in A}(X\setminus\{a\})$ is also in the ultrafilter.
So a non-principal ultrafilter must contain only infinite sets. In particular, if $X$ is finite, then every ultrafilter on $X$ is principal.
The definition of a cofinite set is relative to $X$, and it simply means that $X\setminus A$ is finite. Co being short for "complement [of]". And if $X$ is an infinite set, then the collection of cofinite subsets of $X$ makes a filter. Moreover if you extend this filter in any way, you will never add a finite set to it. Therefore an ultrafilter extending the cofinite filter is necessarily non-principal.
Best Answer
HINT: Consider the co-finite subsets of $I$.