A fractal is an object which has at least one of the following characteristics 1: it has detail at arbitrarily large or small scales, it is too irregular to be described in traditional geometric terms, it is exactly or statistically self-similar, its dimension is greater than its topological dimension, or it is defined recursively.

Mandelbrot set

The problem with any definition of fractal is that there are objects that one would like to call fractals but which do not satisfy all the properties above.
For example, naturally occurring fractals (like clouds, mountains, and blood vessels) have both lower and upper cut-offs; there is no precise meaning of "too irregular"; there are many ways that an object can be self-similar; there are many definitions of dimension admitting fractional values, and they don't, in general, agree; and not every fractal is defined recursively.

Fractals defined by a recurrence relation at each point in a space (such as the complex plane). An example of this type are the Mandelbrot set and the Lyapunov fractal.

Random fractals, generated by stochastic rather than deterministic processes, for example Fractal landscapes.

Of all of these, only Iterated function systems[?] usually display the well known "self-similarity" property--meaning that their complexity is invariant under scaling transforms.

Random fractals have the greatest practical use, and can be used to describe many highly irregular real-world objects.
Examples include clouds, mountains, turbulence, coastlines and trees.
Fractal techniques have also been employed in image compression, as well as a variety of scientific disciplines.