static members are one per class but non-static members are one per instance.
static members are accessed by their class name which encapsulates them, but non-static members are accessed by object reference.
static members can't use non-static methods without instantiating an object, but non-static members can use static members directly.
static constructor is used to initialize static fields, but for non-static fields normal instance constructor is used.
See here for performance related points.