I believe they both fire on a successful connection.
The IND will fire first (iirc), with the CONNECTED firing second.
There shouldn't be a problem using both, but if all you want is a connection, then you can use just one :)
From what I've seen playing around with it, it could be that the IND fires when a connection process is started, whereas the CONNECTED fires when the connection is completed.
If you are checking for a device is fully connected, then I would use the CYBLE_EVT_GAP_DEVICE_CONNECTED. The only reason I would use the other event is if you have a specific reason for it.