Why do we need ultrafilter for construction of hyperreal numbers? While trying to get some hold on the hyperreal numbers I found that their construction using the already existing real number system $\mathbb{R}$ requires the use of objects called free ultrafilters on $\mathbb{N}$. When I read about ultrafilters from wikipedia then I found that a free ultrafilter $U$ on $\mathbb{N}$ is a set of subsets of $\mathbb{N}$ such that $$U = \{A \subseteq \mathbb{N} \mid \mathbb{N} - A \text{ is finite}\}$$ i.e. $U$ consists of all cofinite subsets of $\mathbb{N}$.
Now we come to the point where this ultrafilter $U$ is used in construction of hypperreal numbers. The essential idea is to think of a hyperreal number as a sequence of real numbers and the idea of ultrafilter is needed to define ordering of hyperreal numbers. Thus if we have two sequences $A = \{a_{n}\}, B = \{b_{n}\}$ of real numbers then we define $A \leq B$ if the set $\{n \mid a_{n} \leq b_{n}\} \in U$ where $U$ is a free ultrafilter on $\mathbb{N}$. To me this is equivalent to saying $a_{n} \leq b_{n}$ except for finitely many values of $n$.
My questions are:

Is my understanding of a free ultrafilter on $\mathbb{N}$ correct?

I think I may be wrong here because I have started studying this only today and maybe I have not understood this properly. If I am wrong then please let me know exactly why/how my understanding is wrong.

If the answer to previous question is "yes" then I don't see the need to introduce just another jargon called ultrafilter (and that too of a free type) and saying that $a_{n}\leq b_{n}$ for all except a finite number of values of $n$ is sufficient to define ordering of hyperreal numbers $A$ and $B$ defined by these sequences. Why then do we need this ultrafilter thing?

Edit: Ok my understanding of ultrafilter was incorrect and hence the second question is striked out. From the comments I see that existence of free ultrafilter $U$ on $\mathbb{N}$ depends on Axiom of Choice. I have seen applications of this axiom (like proving the existence of non-measurable set) and its use does not disturb me philosophically.

How do I use this axiom to create free ultrafilter on $\mathbb{N}$?
  One way is probably like this: let $A, B$ be non-empty subsets of $\mathbb{N}$ such that $A \cup B = \mathbb{N}$. For every such pair of $A, B$ i chose one of them and put in the free ultrafilter being constructed. Does this work or I am surely headed in wrong direction?

Further Edit: After reading some more stuff (thanks to Andre Nicolas for link to another question regarding ultrafilter existence) I can make some sense. The set $U$ I wrote above is not an ultrafilter but rather a filter which commonly goes by the name  Fréchet filter. Each filter is contained in an ultrafilter and hence there is an ultrafilter $U'$ such that $U \subset U'$ and this is the desired ultrafilter needed to construct the hyperreal numbers.
 A: A nonprincipal ultrafilter on $\mathbb N$ does not consist of the set of all cofinite sets, but it includes the set of all cofinite sets.  In order to be an ultrafilter and not just any filter it must be a filter that is not a subset of any other filter.  That means, for example, that if neither the set of even numbers nor the set of odd number belongs to the filter, then it can be extended by adding to it the set of all even numbers or the set of all odd numbers.
Thus the statement $\{n \mid a_n \leq b_n\} \in U$ is far weaker than the statement that $a_n \le b_n$ for all but finitely many values of $n$.  If it were to happen that $a_n\le b_n$ when $n$ is even and $a_n>b_n$ when $n$ is odd, then that far weaker statement and the corresponding one for $\text{“}{>}\text{''}$ would both be false. But if $U$ is an ultrafilter and not merely any filter, then one or the other of those two sets – the even numbers and the odd numbers – belongs to $U$.  Thus we can say that either $a\le b$ or $a>b$ in the ultraproduct.
The reason why the ultraproduct construction is used is not simply that one wants an ordered field with infinitesimals and infinite numbers. That can easily be done by simpler constructions.  Rather, one wants a structure to which the transfer principle applies. For example, suppose $n$ is an infinite integer.  Then every internal one-to-one function from $\{1,2,3,\ldots,n\}$ into $\{1,2,3,\ldots,n,n+1,n+2,n+3\}$ has all except exactly three members of the latter set in its image.
Postscript: I think the most usual way to show the existence of non-principal ultrafilters is by using Zorn's lemma.  To say a filter on a set $S$ is not maximal means there exists $A\subseteq S$ such that neither $A$ not $S\setminus A$ belongs to the filter.  The set of all filters on $S$ is partially ordered by inclusion. 
