Why hyperreal numbers are built so complicatedly? I have seen approaches at building hyperreal systems by using complicated notions like ultrafilters and the like.

Why not just postulate the existence of infinitesimal element $\varepsilon$ and infinite $\omega=1/\varepsilon$ like we do with complex numbers and build a field system around them?
There are ways to build a field by throwing in an infinitesimal to the reals and then whatever else you need. For example, the field of formal Laurent series (ordered so that monomials with positive coefficients are first ordered by the power of x, e.g. $0 &lt;x &lt;1&lt;100&lt;1/x$) is basically that. The Levi-Civita field is similar.

However, neither of those actually have the properties needed to answer questions about calculus. You need to throw a lot in in just the right way to get all simple statements to pass through, as Nate Eldredge alluded to.

As an aside, the basic idea behind of the construction isn't too complicated. I like Terry Tao's voting analogy. A hyperreal is a sequence of reals that vote each time you ask about a property  (like "are you bigger than 5?"). How to determine which infinite collections of voters count as good majorities is handled by some technical stuff, but you don't have to worry about that to get the idea.
Details matters!

As an example, if you just postulate the existence of infinitely big naturals you will have troubles because

$\{\omega \in \Bbb{N} \ : \ \omega \ \mbox{is infinitely big}\}$

is a non-empty set without minimum.

Those complicated constructions arised to avoid this and a lot of other gaps that could appear if we are not careful enough.