Whether it's a relationship, a friendship or an old pair of jeans, we've probably all held on to something longer than we probably should have, and it's starting to feel like that's what the Buccaneers are doing with Jameis Winston

It's easy to see why the Bucs don't want to give up on Winston: He's a former No. 1 overall pick who's supposed to be the team's quarterback of the future. However, if Winston has proven one thing this season, it's that he probably shouldn't be the starting quarterback for the Buccaneers anymore, and if that wasn't clear to Bucs coach Dirk Koetter before this week, you'd like to think it became clear after Winston's four-interception meltdown during Tampa Bay's 37-34 loss to the Bengals on Sunday. 

Winston single-handedly cost Tampa the game and he did it by throwing interceptions that no NFL quarterback should ever throw. For instance, this first quarter pick was thrown directly into the hands of Shawn Williams

You can always overlook one mistake, but with Winston, it's never one mistake, because these things always seem to come in bunches. Winston has played in four games this season and he's thrown multiple interceptions in EVERY single game. 

As a matter of fact, with 10 picks on the year, Winston is now tied for the NFL lead in interceptions, which is even worse when you consider the fact that he was suspended for the first three games of the season. Basically, he's played in three less games, but has more interceptions than anyone. 

Winston's ugliest interception against the Bengals wasn't even the one he threw to Williams. Nope. His ugliest interception came in the third quarter when he threw a pick-six to Bengals safety Jessie Bates that put the Buccaneers behind 34-16.

After watching Winston throw that pick-six, Koetter finally decided to bench Winston and put in Ryan Fitzpatrick and that's when the Fitzmagic happened. With Fitzpatrick on the field, the Bucs came back and tied the game at 34 after trailing 34-16 in the second half. 

Although Fitzpatrick didn't lead the Bucs to victory, he definitely looked like the better quarterback on the field and that's the way it's looked all season. Through eight weeks, the Buccaneers offense has looked better with Fitzpatrick running it. However, that doesn't necessarily mean he's going to start. 

Despite Winston's constant struggles, the Bucs continue to stand by him and that's exactly what Koetter did after the loss in Cincinnati. 

After watching his starting quarterback throw 10 interceptions over the past four weeks, Koetter refused to talk about his potential quarterback controversy. 

"We don't need to talk about it," Koetter said of who his potential starting QB going forward, via the Athletic. "Today's not the day I have to decide that, right? I don't have any problem making decisions and I'll make it when the time's right, but now is probably not the time to make it."

That's fine if Koetter doesn't want to make the decision now, but it's not going to look good if he makes the same mistake twice. He already benched Fitzpatrick once and if he let's Winston keep the starting job after Sunday's debacle, his coaching seat in Tampa is going to go from hot to scolding if Winston continues to struggle. 

Sorry to interrupt your reading, but just a quick PSA here. We have a pretty amazing daily NFL podcast you may not be aware of. It's hosted by Will Brinson and it's all the things you're looking for: news, fantasy, picks, really, just football stuff for football people.  Subscribe: via iTunes | via Stitcher | via TuneIn | via Google 

If the Bucs do stick with Winston, they're going to owe him $20.9 million in salary for next season, which is a lot of money to pay a quarterback who's gone just 4-12 in his past 16 starts. Winston might be able to find success somewhere else, but it seems pretty clear that things aren't going to work out in Tampa no matter how badly the Bucs want it to happen. Although we know Fitzpatrick isn't the quarterback of the future in Tampa, it doesn't feel like Winston is, either. 

Philadelphia 24-18 over Jacksonville in London

Eagles: B

The Eagles got off to an ugly start in England with Carson Wentz turning the ball over on each of Philly's first two possessions, but he made up for it later in the game by throwing three touchdown passes, which seems to be a magic number for the Eagles. The Eagles are now 8-0 when Wentz throws three or more touchdown passes in a game. Of course, Wentz wasn't the only player who came up big. Chris Long recorded two of Philadelphia's four sacks as the Eagles defense spent the better part of four quarters harassing Blake Bortles.  

Jaguars: C

The good news for Jacksonville on Sunday is that Blake Bortles didn't get benched. On the other hand, the bad news was everything else. Newly acquired Carlos Hyde (six carries for 11 yards) did nothing to help the Jaguars running game, the Jags offense was absolutely atrocious in the first half (just 93 total yards) and Jacksonville's defense still can't stop anyone. As for Bortles, it's a good thing he didn't get benched because not only did he throw for 286 yards, but he also led the team in rushing with 43 yards. Of course, that's not necessarily a good thing: The Jags are just 2-11 all-time when Bortles finishes a game as the team's leading rusher. 

Pittsburgh 33-18 over Cleveland

Browns: D

The Browns actually led this game 6-0 in the second before the wheels started to fall off the wagon. After taking the lead, they went into full meltdown mode: They missed a field goal in the second quarter, Baker Mayfield threw an interception that Pittsburgh eventually turned into a touchdown during that same quarter and the Steelers recorded a safety in the third quarter. The Browns seem to find a new way to lose on the road every week, which probably helps explain why they've lost 25 straight road games, a total that's just one off the NFL record. 

Steelers: B

James Conner is doing his best to make everyone in Pittsburgh forget about Le'Veon Bell. The Steelers running back exploded for 146 yards rushing and two touchdowns, which was especially impressive, because it marked the fourth time this season that he's gone over 100 yards and scored two touchdowns in a game. Guess who's never done that four times in a season, or even four times in his entire career? 

Of course, the Steelers needed every yard Conner had to offer and that's because Pittsburgh made multiple mistakes in this game, including two turnovers. The Steelers also lost the ball on an odd play after Ryan Switzer forgot to field the free kick from Cleveland after Pittsburgh recorded a safety.     

Seattle 28-14 over Detroit

Seahawks: A

The Seahawks offense is basically unstoppable when Russell Wilson is on fire and Russell Wilson was on fire against the Lions. Wilson, who only threw three incomplete passes (14 of 17) finished with 248 yards and three touchdowns. Wilson also did a good job of getting everyone involved, including players you've probably never heard of, like David Moore. Moore, a seventh-round pick from the 2017 NFL Draft, caught four passes for 97 yards and a touchdown. The Seahawks also got a huge performance from Chris Carson, who rushed for 105 yards and a touchdown. The Seahawks could do no wrong in this game and nothing was more proof of that than when they converted a fake punt from their own end zone. 

With nine yards on that play, Seahawks punter Michael Dickson almost had as many rushing yards as the Lions' did in the entire game (32).     

Lions: D

One week after exploding for 248 yards, the Lions rushing attack went back into hibernation against the Seahawks. Kerryon Johnson was limited to just 22 yards on the ground in a game where the Lions totaled just 34, which is a horrendous number, even for Detroit. The Lions had committed three ugly turnovers. Two of those came from Matthew Stafford, who lost a fumble in Seahawks' territory and also threw an interception after the Lions drove down to Seattle's 4-yard line. Ameer Abdullah also lost a fumble on a kickoff, which the Seahawks eventually turned into a touchdown. It was an ugly showing at home for a Lions team that now has to hit the road for two straight games. 

Kansas City 30-23 over Denver

Broncos: B-

The Broncos made a lot of mistakes in this game, which is something you absolutely can't do when you're trying to win a shootout against Kansas City. Two of the biggest mistakes both came from Case Keenum and they both came in the fourth quarter. With the Broncos' trailing 30-20 in the fourth, Keenum turned the ball over on two consecutive possessions (lost fumble, interception). The Broncos' fourth quarter struggles overshadowed an impressive performance from a Denver rushing attack that totaled 189 yards. 

Chiefs: B

We seem to talk about the Chiefs' offense every week, so instead we're going to use this game to talk about Dee Ford. Ford abused the Broncos' offensive line to the tune of three sacks, including a fourth quarter sack where he caused a Case Keenum fumble that Kansas City recovered. Overall, the Chiefs sacked Keenum five times. Offensively, Patrick Mahomes (303 yards, four touchdowns) found someone to throw to besides Tyreek Hill and that player was Sammy Watkins. Watkins caught eight passes for 107 yards and two touchdowns in the win. 

Carolina 36-21 over Baltimore

Ravens: D

Last week, it was Justin Tucker who uncharacteristically cost the Ravens a game, this week, it was Baltimore's defense. The Ravens defense gave up 36 points and 154 rushing yards, which were both season-highs. Baltimore went into Sunday's game with the No. 1 ranked defense in the NFL. Of course, the defense got no help from a Ravens offense that turned the ball over three times. Those three turnovers ended up leading to 13 points for the Panthers

Panthers: A

Cam Newton put on his Superman cape and carried the Panthers to a win over the NFL's top defense. Not only did Newton throw for 219 yards and two touchdowns, but he also led the team in rushing with 52 yards and another score on the ground. Newton also got some help from rookie wide receiver D.J. Moore, who proved that he's more than a wide receiver. Moore totaled 129 yards from scrimmage, which came in the form of 39 rushing yards and 90 receiving yards. 

Chicago 24-10 over New York Jets

Jets: D

This loss was an all-around failure for the Jets, who managed to look bad in nearly every facet of the game. Their quarterback completed less than 50 percent of his passes (14 of 29), no one rushed for more than 25 yards and the Bears steamrolled New York's defense for 179 rushing yards. Even their punter struggled with four of his eight punts going for 40 yards or less. 

Bears: B+

The Bears didn't have Khalil Mack, but apparently, they didn't need him as they were able to absolutely shut down the Jets offense with their star pass rusher on the sideline. With Mack out the Bears defense was still able to suffocate the Jets, limiting New York to just 57 yards on the ground and 207 total yards. From a yardage standpoint, it was the Bears' best defensive performance of the season. Offensively, the Bears' two-headed attack of Tarik Cohen and Jordan Howard had their way with the Jets defense. Cohen totaled 110 yards and a touchdown while Howard finished with 81 yards rushing and a touchdown. 

Washington 20-13 over New York Giants

Redskins: B+

Two months ago, no one wanted Adrian Peterson, and now, he's mowing down the opposition and leading his team to victory. With Alex Smith struggling, the Redskins turned to their 33-year-old running back, who was more than happy to carry the load against the Giants. Peterson carried the ball 26 times for 149 yards and a touchdown, a total that includes a 64-yard scoring in the fourth quarter that iced the game. Peterson also CAUGHT a TD pass, which is notable because it was the first time since 2013 that he's been on the receiving end of a touchdown. Defensively, Matt Ioaniddis had 2.5 sacks as the Redskins beat up Eli Manning for a total of seven sacks. 

Giants: D

This game was a disaster all around for a Giants offense that might have finally hit rock bottom after weeks of hovering there. Saquon Barkley was held under 40 yards, Eli Manning threw two interceptions and when he wasn't throwing interceptions, he was being sacked. The Redskins sacked Manning a total of seven times, which marked the most sacks the Giants have surrendered since October 2014. At this point, the only play that seems to be working is the one where Manning throws it up to Odell Beckham. Beckham finished with 136 receiving yards, which accounted for roughly 45 percent of the Giants 303-yard offensive output in the game. 

Cincinnati 37-34 over Tampa Bay

Buccaneers: F for Jameis, but an A for Fitzpatrick

The Fitzmagic carpet ride continued for the Bucs on Sunday as Ryan Fitzpatrick almost single-handedly carried Tampa back from a 34-16 deficit. After Winston got benched in the third quarter,  Fitzpatrick came in and worked his magic, going 11 of 15 for 194 yards and two touchdowns in less than two quarters of work. The Buccaneers actually tied this game at 34 after Fitzpatrick hit O.J. Howard with an 18-yard touchdown pass with just 1:05 left to play. 

Bengals: B-

After playing an "A+" first half, the Bengals offense absolutely disappeared in the second half. A big reason the Bucs were able to make a comeback is because the Bengals went three-and-out on their first four possessions of the second half, they also didn't get their first first down of the half until there was under five minutes to play in the game. 

Indianapolis 42-28 over Oakland

Colts: A

Before last week, Andrew Luck have never received at least 200 yards of run support in a game and now it's happened twice in a row. The Colts offensive line bulldozed the Raiders front seven and paved a path that allowed Marlon Mack to rush for 132 yards and two touchdowns. The Colts 222 rushing yards overall was the team's highest total since 2007. With the running game clicking on all cylinders, that opened things up for Luck, who threw for 239 yards and three touchdowns. We should also probably mention Adam Vinatieri, who scored 10 points and is now the all-time leading scorer in NFL history. 

Raiders: C

The good news for Derek Carr in this game is that Jon Gruden definitely won't be able to blame the loss on him. Carr had a huge day that included three passing touchdowns AND his first career rushing touchdown (That's right, Carr went through the first four-and-a- half seasons of his career without a rushing touchdown). Unfortunately for Oakland, the Raiders defense was as bad as Carr was good. They couldn't stop the Colts on third down (Indy converted 9 of 13), they couldn't pressure Andrew Luck and they couldn't stop the run. When you can't do those three things, you're almost always going to lose. 

Los Angeles Rams 29-27 over Green Bay

Packers: B+

The Packers played a nearly perfect game, but they lost due in large part to one huge error at the end. After the Rams took a 29-27 lead with 2:09 left, Aaron Rodgers never got a chance at a game-winning drive because Ty Montgomery fumbled away the ensuing kickoff. A big reason the Packers were able to keep this close is because of Davante Adams (Five catches, 133 yards) and a Green Bay defense that sacked Jared Goff five times.  The Packers forced the Rams to punt seven times in this game, which is amazing when you consider that the Rams had only been forced to punt eight times the ENTIRE season before Sunday. 

Rams: B+

The Rams have a lot of weapons on the field and they needed every single one of them to fight off a feisty Packers team. Jared Goff threw for 295 yards and three touchdowns in a game where he went toe-to-toe with Aaron Rodgers. Of course, Goff has one weapon that Rodgers definitely doesn't have and that's Todd Gurley. Gurley played a huge part in the Rams win with 195 yards from scrimmage and a touchdown. Oh, and let's not forget about Aaron Donald, who sacked Rodgers twice. 

Arizona 18-15 over San Francisco

49ers: B-

After shutting down the Cardinals for three quarters, the 49ers defense blew a 15-3 lead during a total collapse over the final 11 minutes of the game. Offensively, the 49ers had no punch as C.J. Beathard finished with under 200 yards passing (190). The ground game wasn't much better as Matt Breida led the team with just 42 yards. The most embarrassing part of the day for the 49ers offense might have been the fact that the game ended on a bad shotgun snap with the 49ers holding one timeout and just yards away from field goal range. 

Cardinals: B

At 35 years old, Larry Fitzgerald is still able to dominate an NFL game. Fitzgerald had his biggest game of the season on Sunday with eight receptions for 107 yards. The ageless also came up with two huge plays in the fourth quarter with a touchdown catch and a two-point conversion after a Christian Kirk touchdown catch. The Cardinals haven't been great this season, but if there's one thing they do well, it's beat the 49ers. Arizona is 2-0 against the 49ers but 0-7 against everyone else this year. 

New Orleans 30-20 over Minnesota

Saints: A-

The Saints defense carried the load on a night where Drew Brees and the offense didn't even produce 300 total yards. The defense came through with multiple big plays, including a third quarter pick-six by P.J. Williams that basically iced the game. Marshon Lattimore also came up huge with a 54-yard return on a fumble recovery in the first half that set up another Saints touchdown. Rookie Marcus Davenport also got in on the defensive fun with two sacks. This win marked the first time in Brees' career with the Saints that New Orleans won a game where the team put up 270 yards or less of total offense. The fact that the Saints won by double digits without a huge night from their offense should probably scare the rest of the NFC. Of course, the offense did have one big star on the night, and that was Alvin Kamara, who totaled 76 yards and scored two touchdowns. 

Vikings: C-

There was no Minneapolis Miracle to be had in this game. As a matter of fact, the only miracle this time around is that the loss didn't turn into a bigger blowout for the Vikings. Minnesota couldn't take care of the football (they turned the ball over twice) and they couldn't take care of Kirk Cousins, who got sacked four times. The Vikings offense sputtered after taking a 13-7 lead early in the second quarter. The Vikings also had some serious clock management issues as they were attempting to rally in the fourth quarter. 

New England 25-6 over Buffalo

Patriots: B-

Tom Brady doesn't usually get outshined by the Patriots defense and he almost never gets outshined by his kicker, but both of those things happened in this game. The Patriots defense scored as many touchdowns as the Patriots offense in Buffalo, with the biggest play of the night coming on an 84-yard pick-six by Devin McCourty in the fourth quarter that basically iced the game. It was the Patriots' first defensive touchdown since 2015. Stephen Gostkowski also played a big role in the win with four field goals. Although Brady didn't throw any touchdown passes, he did throw for 324 yards, marking the third time in four games that he's hit the 300-yard mark. Brady also continued his dominance of the Bills. The Patriots quarterback now has a 29-3 career record against Buffalo. 

Bills: C

The Bills defense played a nearly flawless game for three quarters, but they didn't get any help from an offense that struggled with Derek Anderson under center. If you're wondering how bad things got offensively for Buffalo: The Bills didn't run a single offensive play inside the Patriots' 25-yard line the entire night. The Bills also turned the ball over twice, which led to 10 of New England's 25 points. On the ground, the Bills finished with just 46 yards rushing, which was their lowest total at home since 2010. The Bills offensive struggles overshadowed an impressive performance by a Buffalo defense that kept the Patriots out of the end zone for the first three quarters.