A better device for this would be a [Guzunty CPLD](https://github.com/Guzunty/Pi/wiki) as a Rasperry Pi shield ! It adds a 25 additional input/output expansion lines and also protects the GPIO pins of the Raspberry Pi !
Depending on how you might want to use the GPIO pins, this is a clear yes, or no... Traditionally, GPIO is somehow a strange beast when integrated as tightly on SOCs like the Broadcom on the Raspberrypi.
On one side, it's a pretty dumb interface: You put a bit in a memory address and the output changes state. No fancy logic, everything done in software. On the other hand, it's very tightly integrated on the CPU, so you have a very fast path to toggling them.
If you really need this tight integration because you want to trigger interrupts from an external source, or want to bit-bang a non-standard serial protocol, you'll have little luck: The USB latency will make it orders of magnitude slower than "native GPIO." and the better solution will be to directly hard-code parts of the logic into the external microprocessor, and speak to this special purpose hardware.
If you are only interested in turning on- or off a few lights, one of the popular GPIO expanders via i2c will be cheaper and probably just as slow :-).
But: A huge strength of this project would be if the i2c-over-usb and spi-over-usb ports get decent native support in-kernel-support in Linux, because that's where you can get pretty decent performance with the well-defined protocols. That's something that would fill a huge gap in available products, both for the PC and the 'pi.
{I've tried to get something running on a special-purpose CH340(?) uart/i2c/spi-to-USB bridge, but unfortunately the two latter modes are severly underdocumented...}
Yes. It's a general purpose microcontroller board, programmed to provide GPIO signals via USB.
I prefer to use USB peripherals for my Pi. Peripherals that are recognized as a USB-to-serial adapter can talk to the Pi, or to any desktop PC. This lets me move my peripherals and code (mostly Python) back and forth between platforms, and do the lion's share of debugging on my PC if I want to.
My peripherals are homemade, since I also enjoy playing with microcontrollers, but something like this is nice because you can get it working and start using it without needing a bunch of esoteric development tools. Likewise with that port expander chip from Microchip.
It can be a conceptual hurdle for a beginner to master a bunch of disparate concepts, such as basic wiring, microcontroller programming, and the Raspberry Pi, just to reach "hello world" stage. Starting with a few of those things already done can be a comfort.
Sort of. This appears to be an Atmel ARM board with the pins broken out in a Pi-compatible way. I imagine you could reprogram this to act as an I/O expander, but at that point, you're probably better off just getting a dedicated GPIO expander.
Look at GPIO expander chips like the MCP23008. They're only a couple bucks and give you GPIO pins you can control over the Pi's I2C bus. You can run a few of them off an I2C bus using different addresses too. Can see the chip and some tutorials for using it here: https://www.adafruit.com/product/593