SurfShark's advantage on Nord is that it offers unlimited devices, is much cheaper and enables efficient split-tunneling.
If you pick anything other than SurfShark or Nord, you are either paying too much or paying for trash. Find me one exception and I'll 'eat my hat'.
SurfShark says that it offers unlimited devices. It also says that it has an efficient whitelister (split tunneling) mechanism and that it camouflages your connection as HTTPS traffic to your ISP (which is extremely important if you're in an oppressed nation).
Transparency issue 1: Split-tunneling
The problem is lack of transparency and I am going to explain how/why. As soon as you enable split-tunneling with SurfShark, you are not fully camouflaging your connection because it demands Ikev2 Protocol (which they never explain, and your settings will say you're on OpenVPN with UDP but really you have IKev2 with maybe some layer of OpenVPN on top). This is especially true if using the Android or iOS when/if you have their 'whitelister' activated for some apps. It is spitting the connection but operating on a protocol designed for good configuration but less 'pure security' nonetheless I'd say sure, there's no leaks happening but the key is that the apps/programs you make 'whitelisted' will sense you're using a VPN due to how it splits. This means if you think you can just split it like that and the things using your real IP will go 'ah everything is fine' you are so wrong. If you play online poker, use any bank-related programs or something that basically your money and real-life depend on, you can technically be banned for doing this even though you white-listed it. That aside, to truly whitelist a program in Windows with SurfShark is so utterly more complex than they make out with their 'tick the game you want to whitelist' options. The Client you play on is one of many .exe files (Idk what mac has instead of .exe and never ever will care, Apple and me fell out of love a long time ago). If you go through all the .exe files, you often find 'tracker' especially for games that want to ban 2 people playing from the same IP or track cheating or ban-bypassing like that. If you are not running that through your real IP, you can get banned for it. It comes down to how lenient and understanding the tech team is and how recipient to them, the admins are, that determines the mercy given to you when you explain you didn't realise you weren't whitelisting it fully. Note, even when whitelisted fully, split tunneling cannot and will not ever fully work for things like that because it works by it understanding you're blocking tracking and other things with your VPN active and then going 'oh we are lucky to have your real IP anyway but how do we really know for sure?'. If you understand programming, you'll realise why NordVPN is much more honest for only enabling you to have split tunneling on Android and why the only true way to split-tunnel on computers is to have browser extensions with your VPN there and the rest of your computer completely 'exposed'. This registers to games and programs as completely acceptable as there is no way you're faking your IP to them, regardless of your VPN on the browser being active. You can split-tunnel on Android with NordVPN if you read their support guide on IKeV2 but it's not 'easy' to setup ('just a bit easier than medium' is what I'd rank it).
ExpressVPN has the exact same issues as SurfShark with regards to authenticating the split-tunnel but maybe they have a workaround or 'true split tunneling' mechanism, I haven't used their product to speak on it. They charge too much, as do Hotspot Shield. I don't trust any other VPN, because I know how to analyse the proper 'never turn you in' element of a VPN based not only on the wording of their T&C and Privacy Policy but physical things, audits, track record etc.