This post is based on zeros. See also post on spot, FRA … based on Libor.
Assumption: semi-annual compounding. Most US bonds follow it.
Suppose spot rate == 500 bps/year for a 2 year term (ie 4 x 6 months), it means on the market, people are willing to close deals like “Take my $1M today. Repay in 2 years (1.025*1.025*1.025*1.025)*$1M = $1,103,800”, which is 10.38%  more than the loan amount.
If i know people agree today to borrow $1M and repay in 2 years $1.1038M, then I can derive the semi-annual compound rate to be 2.5%/semi, or 5%pa but compounded-semiannually. In fact, an instrument exists that pays the $1.1038M in a 2-year term. This instrument is known as a zero-coupon bond. Discount factor for this 2-year term is 1/(1.025 * 1.025 * 1.025 * 1.025). Having $1,103.800 in 2 years is as desirable as having $1M today.
 Note spot rate is not 10.38%. Spot rate is a reflection of market sentiments and is directly reflected in the price of zero-coupon STRIPS.
— spot rate (SR) and (DF) discount factor —
For a given future date, spot rate can be derived from discount factor. Since discount factor is a market rate, spot rate is a reflection of market sentiment too. A measure of market sentiments on the time value of money.
In low inflaciton/interest years, spot rate is low, i.e. discount is “light”. Personally, i feel the discount factor concept is simpler than spot rate.
Starting from market prices, it’s simper to derive discount factors than spot rates. Both discount factor and spot rate are functions of length or maturity. Forward rate is more complicated. I think mathematically you can derive SR and DF from each other. SR fully describes time value of money (over various terms) on a given day on the market.