Options, tables, scheduled events, user meta and post meta all survive deactivation and deletion unless the plugin removes them explicitly, and most do not.
// uninstall.php — runs on delete only
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
exit;
}
delete_option( 'turkerdev_settings' );
wp_clear_scheduled_hook( 'turkerdev_daily_sync' );
global $wpdb;
$wpdb->query( "DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE 'turkerdev_%'" );
The constant check is required — without it the file can be requested directly over HTTP. Scheduled events are the ones that cause visible trouble: a hook whose callback no longer exists fires on every page load and fails silently forever. The LIKE pattern needs the underscore escaped, because in SQL it is a single-character wildcard and an unescaped one matches far more than intended.