If your PCM thinks there is no O2 sensor feedback, then it will default to an open loop condition....which instead of closed-loop operation which is constantly monitoring and tuning injector pulsewidth...simply looks up a pulsewidth from a table based on engine speed and load. The open loop defaults to the rich side of 14.7:1.
Other ways to get into open loop are: lack of coolant temp feedback, very high or very low coolant temps.
There is fuel enrichment strategy for protecting the pistons under wide open throttle operation (power enrichment) and also a catalyst protection strategy which prevents the cat from internal overtemp under high mass-flows and hot flame-temps.
There is also an "LTM" count which deals with long-term integration of the O2 feedback. This is basically a strategy to balance any unmetered air leaks and any fuel injector variation. In simpler terms, if the totalized moving average of O2 sensor values over a long period of time is slightly higher than 14.7:1 then a very slow and gradual change is made to increase the pulsewidth.
In other words, if there's unmetered air entering via a vacuum leak or other gasket breakdown, the PCM steps up fuel (slightly, gradually) to match. If the injectors flow at the higher end of the tolerance band, then gradually it will reduce slightly.
I suggest you need to get in to see if your O2 sensor is toggling and if there are any stored fault codes.