I have a time-series without trend and seasonality. For the sake of showcasing the different forecasting methods, I am plotting each smoothing method with an alpha of 0.1, setting beta and gamma to FALSE. However, when checking for accuracy() for each model I get slightly different errors (RMSE = 226 for SES, 227 for Holt and 233 for HoltWinters). Can someone explain why that is the case?

Just to clarify, you use the ses() and holt() functions from {forecast} and the HoltWinters() function from {stats}? If so, I believe that the latter uses a different method to initialize the state values.

Thank you, that would make sense since HoltWinters() also doesn't give a forecast but only smooths the data. But still, is there an explanation for why the errors vary between ses() and holt()?

Unless you provide data for the forecast period to the accuracy() function, the measures are based only on the data used to fit the model. The report labels the row of measures as "Training set". The fact that HoltWinters() does not automatically generate a forecast should not be relevant to your question.

Exponential smoothing models must choose initial values for the level, slope and/or seasonality, and there is no one best method. For ses() and holt() you can choose between "optimal" and "simple". For HoltWinters() without a trend or seasonality, the initial value of the level is simply the first value in the time series. That

can explain the slightly higher RMSE value for HoltWinters().

I may be misunderstanding your question. Did you fit ses(), holt() without a trend, and HoltWinters() without a trend or seasonality to a time series while also specifying alpha = 0.1 for all three? Because I have not used ses() and holt() for some time, having transitioned to ETS() in Hyndman's newer tidyverts set of packages, I do not recall how it is possible to use the holt() function without a trend. HoltWinter() accepts beta = FALSE but I get an error using that in holt().