last_sign_in_at is the date and time the user signed in before their current session, which is current_sign_in_at. It will be nil if they haven't signed in or this is their first session.
A better name might have been previous_sign_in_at because it is not the time they signed in last (the current one), it's the time before that.
It might be helpful to illustrate its use: After sign in, if updated_at on your Terms & Conditions page is newer than the user's last_sign_in_at then redirect them to a terms acceptance page.
As with most attributes in the Trackable module, it is not used internally to Devise although it is maintained by it.