I have some questions regarding SLAM and some general technical terms used in the context of it.
Q1) **Online SLAM vs Offline SLAM**. Can "Online" SLAM be also called "real-time" SLAM? What is the use of offline SLAM if it can't be used on a real robot in real-time?
Q2) **Datasets for SLAM**: Are there datasets different for offline and online slam algorithms? What is the difference exactly?
Q1) Online SLAM vs Offline SLAM. Can "Online" SLAM be also called "real-time" SLAM? What is the use of offline SLAM if it can't be used on a real robot in real-time?
Yes, online SLAM could probably also be called real-time SLAM as it needs to run in real-time, although you could run offline SLAM in real-time too, just not at the time the data was recorded. Not every single part of the system will necessarily run at a high frequency though. It is common for the map to be updated less frequently than the current localisation estimate, as (re)calculating the map is often the work of some larger optimisation problem, whereas the localisation can produce estimates from 'old' maps that are good enough for short periods of time (e.g. seconds) using just odometry sources, which tend to be computationally cheaper and therefore possible at higher frequency.
Offline SLAM could be used for testing different algorithms, without being restricted to keeping things real-time. Testing on the same dataset is also very useful when one wants to compare the results. Or for making maps of an area, potentially at a higher quality than a real-time system since it does not need to take performance into account (within reason).
Q2) Datasets for SLAM: Are there datasets different for offline and online slam algorithms? What is the difference exactly?
No. Whether a dataset can be run in real-time will depend on the computational requirements of whatever SLAM system is using it plus the capabilities of the machine being used.
The use of terms Online vs. Offline may be different in different sources.
However, I am used to the meanings presented here: https://control.com/technical-articles/an-introduction-to-simultaneous-localization-and-mapping-slam-for-robots/
This actually distinguishes between Online SLAM vs. Full SLAM, where Online SLAM means the estimation of the current robot pose together with the state of the environment, while Full SLAM estimates the complete set of robot poses over time (and state of environment, which typically can be recovered given poses + sensor data).
While Online SLAM is handled by different computational approaches and generally much less computationally expensive, there is no implication that Full SLAM could not work in "real-time" (actually, a more appropriate term might be again "online", but it depends on the definition of real-time you want to apply, and probably also on the specific implementation, e.g. do you need and get guaranteed response times?).