Originally, Epic called the Blueprint system for “K2”… The code using k2_ prefixes or _k2 suffixes was originally related to exposing functionality to the blueprints, i.e creating nodes or exposing exposing variables to blueprints.
Nowadays, the primary way of exposing functionality to blueprints is through UCLASS(), UFUNCTION() and UPROPERTY(), and the underlying system is only really used if you want to make customized blueprint nodes.