Maybe a real example would help
UMBS 30Yr March 2.5 TBA
Pool = a basket of individual mortgages. It is tradable, but less liquid than a TBA.
UMBS = Fannie Pools and Freddie Pools with payment delays equal to Fannie Pools (UMBS cutover was in Jun-2019)
March = Delivery Date where you need to deliver a TBA-eligible UMBS pool.
30Y = short for 'fixed rate 30 year mortgages'
2.5 = Net Coupon that the pool pays. Actual mortgage rates that are in the pool will most likely be distributed around 2.8 - 3.2
So if you think about each of the individuals in the pool, each one of them has the option to prepay their mortgage. They do this for a variety of reasons: they move from house to house, they extract equity out of their home's value with a cash-out refi, or interest rates have dropped enough below the coupon they are paying to allow them to save lifetime interest or lower their payment, etc.
For this demonstration, just focus on the refi-for-lower-rate reason for prepayment.
The key thing to note here is that the above TBA contract I mentioned was on Fannie/Freddie pools that pay a net rate of 2.5 percent. This is simply part of the contract and is fixed, yet mortgage rates that borrowers can transition into is changing each day.
Let's say next week the 10yr treasury drops 150 basis points. 30y Fixed Rate Conventional Mortgage Rates will also drop. Maybe not by 150 basis points as there is a dynamic spread between the 10yr treasury rate and 30yr fixed mortgage rate, but it is pretty correlated.
Now, each of the individual mortgages with loans that back the actual 2.5 pools (TBA-eligible pools) that can be delivered to this TBA contract will now have some increased prepay risk as the borrowers can just go on RocketMortgage and lock in a new rate pretty quickly. Since all of the 2.5 pools have prepay risk, so does the generic 2.5 TBA contract since you would be delivering these actual pools into the TBA on the expiration/delivery date.
So this is why the 'UMBS 30Yr March 2.5 TBA' contract has prepayment risk.