I dont have much experience of using these 2 ways to extend a class or create extension methods against a class. By looking others work, I have a question here.
A partial class is useful when you want to extend a generated class. This way you can write your code in one file, and then when/if the other 'part' of your class needs to be re-generated, it can be done safely, as that code file hasn't changed.