Plugin disabling itself

I would like my plugin to disable itself under specific conditions during initialization (some crucial data failed to load for example).

Under Bukkit I would use:
Bukkit.getServer().getPluginManager().disablePlugin("PluginName);

Anything similar available with Sponge? Not finding it myself. Or should I be throwing an exception?

Such a function is not implemented in Sponge for the same reason a /reload command is missing: It is way to much work to properly implement it in a way that is guaranteed to not leave any references and loaded objects behind. See here.

Personally I would recommend to log a long and well explained error message and than shut-down the server if you absolutely cannot continue. In my eyes, admins can be expected to dig into the server-log to find out what was wrong, stumble upon your message and either fix the error or remove your plugin.
If you go this road however, this behaviour should be well documented in the documentation of your plugin.

I would recommend logging that the error occurred, that the plugin won’t work in this state. Via “/pluginname reload” the plugin should retry initializing itself and loading the data.
Every interaction with the plugin should end in logging “The plugin wasn’t initialized properly, reload it via ‘name reload’ to try it again”.

If this data is so important, it should probably be loaded prior to anything else anyway. Log the problem happening, throw exception if its because of an exception, then just don’t start up your listeners/commands/etc registration and unregister anything that was already.

Re: Shutting down, I feel it’s inappropriate for a plugin to take the whole server with it.

I think that entirely depends on what the plugin is doing. If it provides some utility commands like warps, private-messages etc. than a shutdown might be inappropriate. If it provides essential functions like blocking fire-spread or logging block placements than not shutting down would be inappropriate because it puts the player’s world at risk.

To disable your plugin, why not just put a boolean field in the main class representing if the plugin is disabled so when starting up you could just de-register things and ignore events if disabled is set to true.