Looking at what Google has to say, Wrapper is an alternative name for both these patterns:
So the examples that focus on adding a checkbox might be better labelled as Decorator classes not Wrapper classes to be more specific and so clearer.
An example that say takes two different types of SObject and presents them in one table is acting as an Adapter (and is still a legitimate use of the term Wrapper).
IMHO the term should not be used where an object (or objects) are not being "wrapped". So, for example, the classes you might use for JSON serialization/deserialization would be better termed POAO (Plain Old Apex Object) following the term that started in Java with POJO, but unfortunately POAO is not a term that has gathered any momentum.
Another POAO example is where you need a method to return multiple values of differing types: the method returns an instance of the POAO class.
Keep in mind that Apex is a fairly/fully complete programming language that you can use to build any lines of code that help you solve your business problem. Patterns like Wrapper are just off the-shelf examples of pieces of code you can build with names that help developers quickly understand what is going on. There are lots of patterns to to be inspired by.