"Hard" is of course highly subjective, but the material in this article is standard (usually sophomore-junior) undergrad material and is very widely used.
I was just teaching a class on this topic (Hilbert's Hotel, and the cardinality of infinite sets) to a group of elementary-age learners last Saturday morning. These ideas have a lot of appeal, and if young learners find out early that infinity is not a number, but is a very deep concept, they can gain a lot of motivation for thorough study of math.
Very widely used for non-useful uses of used. There aren't a lot of infinite sets in applied math. (The closest thing that I can think of to an actual application was http://xkcd.com/195/ and the same trick has since been used for visualizing other complicated large linear sets.)
Most banal example is intervals in the real line (e.g. reals between 0 and 1), which show up all the time. But comfort with infinity is needed for other uses also, two examples being convergence and asymptotic analysis of practical algorithms (optimization, statistical estimation, signal processing, machine learning, geometric algorithms, ...) and showing that two classes of objects are equivalent. The latter is useful because it can let you switch representations of things according to which is more efficient in some implementation, or because it shows that two seemingly different objects are basically the same. Any class of objects that can be parameterized with a real-valued parameter (e.g. probability distributions) forms an infinite set, and it is often useful to be able to say things about a whole category of problems at once, even for practical purposes.