Example of physical delivery FX forward:
In 1 month (maturity date or settlement date), I pay you USD 1 milion and receive from you EUR 1.2 million.
You can either specify both notionals in pay and receive currency; or specify one of the notionals, and the strike rate (also called forward rate), in which case you multiply one notional by the strike to get the other notional.
The contract has FX delta and interest rate risk in pay and receive currencies until the maturity date.
In contrast, there are 3 currencies involved in a non-delivery FX forward (NDF): pay, receive, and settlement.
The determination date (also called fixing date or valuation date) is (usually) 2 business days before the maturity date, using the holiday calendars of the currencies.
On the determination date, we observe the pay/settlement and the receive/settlement spot exchange rates (for most currencies, the rate on official central banks web pages, not just on Bloomberg / Refinitive screens) that determine the net cash flow in the settlement currency, that happens on the maturity date. (They are called settlement rates.)
The motivation is that for many currencies (e.g. Russian rouble, RUB), regulations make it difficult to execute a physical delivery FX forward, so instead people trade USD/RUB or EUR/RUB NDFs.
The contract has no more FX delta or IR risk to pay or receive currencies after the determination date, but has FX delta (and a tiny IR risk) to the settlement currency between determination and maturity dates.
In practice, the settlement currency is almost always either the same as pay or the same as receive currency. E.g., you swap EUR for RUB and settle in EUR, or you swap USD for BRL and settle in USD. The other currency is then the 'reference' currency. But you can (very rarely) swap BRL for RUB and settle in USD or EUR.
If you need to calculate cross-border risks (such as transferability and convertibility) in addition to FX and IR delta, then you need to keep track of the domicile and jurisdiction of the FX contract (or at least onshore and offshore).
The pricing is almost the same as physical-delivery FX forward, just be careful to use the determination date, rather the maturity date. For a few currency/domicile combinations, you may want to use separate discount curves for the currency onshore in a particular domicile.
Note that the Investopedia article you cite is mistaken (no surprise, it's a very bad source of information) in that you look at the spot rate on determination date, not on settlement date.
A better reference is EMTA templates: https://www.emta.org/documentation/emta-standard-documentation/fx-and-currency-derivatives-current-templates/