With this breakout board, you can add 16 digital inputs / outputs to any micro controller with I2C interface.
8 of these modules are cascadable, giving you a possible total of 128 additional GPIO on your micro controller, like an Arduino development board, for example.
The MCP23017 is a very capable chip, with programmable pull-up resistors, interrupt handling, and many other features.
Most interesting is the fact, that it can deliver 25mA on every GPIO pin. This is a lot more than most port expander chips have to offer.
There are very good instructions for example on Youtube, how to use this module. And there is a library for Arduino on Github, making it super easy to add this module to your Arduino project.