When accessing the Style via the SharedResourceKey you are guaranteed to get the correct style. WPF will even load up the appropriate XAML files from our assembly, if they have not been loaded yet.
When using the control type, it would only work if you have ThemeManager.AreNativeThemesEnabled set to true. As this loads up an implicit Style for TextBox based on our SharedResourceKey. If you don't set that to true, then you may be getting the default Style for the TextBox (which is defined by WPF).
In any event, it is generally better to base your styles on our SharedResourceKeys. But there may be instances where you want to access them by control type, when you are basing a custom style on another custom style.