Alternatives to Normalization by Evaluation
NbE really has 2 goals:

As an evaluation mechanism for $\lambda$-terms. In this regard there are many many alternatives, basically any interpreter, virtual machine or compiler is a possible approach. NbE is just a way to get the host language to do the compilation for you!

As a proof technique to show the decidability of convertability for typed lambda calculi. E.g. it is decidable to prove $t =_{\beta\eta} u$ if $t$ and $u$ are simply typed terms of the same type. The obvious alternative is: proving that $\beta\eta$-reduction is strongly normalizing and confluent. It's not clear whether you're lumping this in with NbE, because they (usually) both use logical relations at their core. Certainly there are systems for which SN does not hold, but for which we can carry out NbE though.