  The Cuntz semigroup of a C*-algebra is an important invariant in the
structure and classification theory of C*-algebras. It captures more
information than K-theory but is often more delicate to handle. We
systematically study the lattice and category theoretic aspects of Cuntz
semigroups.
  Given a C*-algebra $A$, its (concrete) Cuntz semigroup $Cu(A)$ is an object
in the category $Cu$ of (abstract) Cuntz semigroups, as introduced by Coward,
Elliott and Ivanescu. To clarify the distinction between concrete and abstract
Cuntz semigroups, we will call the latter $Cu$-semigroups.
  We establish the existence of tensor products in the category $Cu$ and study
the basic properties of this construction. We show that $Cu$ is a symmetric,
monoidal category and relate $Cu(A\otimes B)$ with $Cu(A)\otimes_{Cu}Cu(B)$ for
certain classes of C*-algebras.
  As a main tool for our approach we introduce the category $W$ of
pre-completed Cuntz semigroups. We show that $Cu$ is a full, reflective
subcategory of $W$. One can then easily deduce properties of $Cu$ from
respective properties of $W$, e.g. the existence of tensor products and
inductive limits. The advantage is that constructions in $W$ are much easier
since the objects are purely algebraic.
  We also develop a theory of $Cu$-semirings and their semimodules. The Cuntz
semigroup of a strongly self-absorbing C*-algebra has a natural product giving
it the structure of a $Cu$-semiring. We give explicit characterizations of
$Cu$-semimodules over such $Cu$-semirings. For instance, we show that a
$Cu$-semigroup $S$ tensorially absorbs the $Cu$-semiring of the Jiang-Su
algebra if and only if $S$ is almost unperforated and almost divisible, thus
establishing a semigroup version of the Toms-Winter conjecture.
