That's the main reason, yes. Since SFML doesn't use exceptions, it can't have constructors that may fail.
The other reason is that things are less explicit, what the constructors does must be deduced from the parameters. And sometimes there are two different LoadFromXxx functions that take the same set of parameters (like in sf::Shader) -- in this case, using a constructor is impossible.