The Pin IO capability basically lets you control the pins of the Arduino one by one. Its meant for basic prototyping and control where you may not want to write a full app from scratch!
The app and sketch are also 'smart' in that when you connect, the app will query the Arduino what pins are available and what they can do!
Make sure you have the most recent version of the app, and the correct configuration. During connection you'll see the app Querying Pin Capabilities... It will then get the correct details and fill out the pin map
If the query fails, the app will default back to our old 'UNO' setup, which may not work well for you. Check debug output for the Bluefruit firmata sketch, make sure you're running the latest version of the sketch
All of the pins default to digital inputs with built-in pullup resistors. This means that by default the pins read HIGH. When a button is wired to the pin & pressed or the pin is shorted to ground, you will receive a LOW signal
You can also set the pins to digital outputs. This will let you set the pins HIGH (3V or 5V, depending on the microcontroller voltage) or LOW (0V a.k.a ground). Great for turning on & off LEDs
You can also wire it up to a PowerSwitch Tail which gives you a safe way to control appliances!
On some pins, there's PWM output available, you can dim or brighten an LED. You could also control a DC motor through a driver, if it can be PWM controlled
There are also some pins that have Analog pin capability. You can read various sensors or potentiometers that are wired to these pins. Its best to make sure you know how to get the analog sensor working first, using plain Arduino code, before wiring it up for use with Pin IO