It should be used when attaching data to Entities, TileEntities, ItemStacks, and the World if you so wish (WorldSavedData is still in use). This includes saving Items to TileEntities Forge provides a Capability: CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.
Yes they can be applied in two ways. If the TileEntity is yours apply it through the getCapability and hasCapability methods in your TileEntities class. If it is not yours then you must subscribe to the AttachCapabilityEvent and attach it to the TileEntity.
What you read is the official documentation, I know Choonster has some Capability examples on his github.