A lattice has a least upper bound and greatest lower bound. A semilattice only has one of these two.
A monotonic operation is one that’s either non-decreasing or non-increasing. That is, it never reverses direction.
So in the context of conflict-free replicated data types, you can think of something like an append-only database as a basic example. Over time, the database can only grow or stay the same. It can never shrink. This allows you to split the database into pieces and distribute them. You always know they can be merged back together because they’re append-only. This makes it a join semilattice with the union of corresponding tables being the least upper bound operation.