Whether you call it a feature store doesn't matter. What matters is whether the system serving features at offer-composition time has a read budget, an ownership model, and a clear relationship to the offline store that produces the features in the first place.
Most failures we see are ownership failures. A data team owns the features offline. A platform team owns the online lookup. A product team owns the consumer of those lookups. Each team optimizes locally and the system as a whole is incoherent.
Read-budget failures look different. The online lookup is fast on average, but p99 latencies are long-tailed because nobody owns the tail. Eventually a request misses its overall latency budget and the merchandising team takes the blame.
The fix: make the read budget a contract. Publish it. Wire alerts to it. Make breaches of the budget pages someone can actually act on. The architectural choice between 'real feature store' and 'in-house thing' matters far less than the discipline around the contract.