What kind of data fits ARIMA model well? If not ARIMA, what are the other good models that can be used to forecast the time series data?
Regarding your second question (other models for time series analysis and forecasting), you can consider structural time series models. These models consist of building blocks defining a model for different unobserved or latent components such as trend, cycle or seasonal component. They are usually represented in state-space form, so that the Kalman filter and smoother can be employed to evaluate the likelihood function and to extract an estimate of the components.
The textbooks referenced below are good sources to study these models. For an introduction, you may check this online document and this post, which gives an example of the forecasts obtained for the components and for the overall series based on the basic structural time series model (level, trend plus seasonal component).
Harvey, A. C. (1989). Forecasting, Structural Time Series Models and the Kalman Filter. Cambridge University Press.
Durbin, J. and Koopman, S. J. (2001). Time Series Analysis by State Space Methods. Oxford University Press.
ARIMA, or ARMA for stationary time series, is a univariate method for time series modeling.
Theoretical justification comes from Wold's theorem where you can approximate stationary stochastic process by some low-order ARMA model.
Often structural changes or such cause problems for the ARMA modeling since various statistics by which one tries to infer structure of model are affected greatly.
One solution is to use some form of deterministic model for structural changes and then use ARMA for "whitened" series.