Cold, windy and wet conditions impacted Sunday's 49ers-Ravens game, which Baltimore won 20-17 on a last-second, 49-yard field goal by all-everything kicker Justin Tucker. Yet the Week 13 matchup still delivered as an entertaining battle between two of the NFL's best teams.

Due in part to the weather, league MVP candidate Lamar Jackson struggled with a handful of missed throws, ending the game having completed 14 of his 23 pass attempts for 105 yards and a touchdown. Yet Jackson also managed 101 rushing yards on 16 carries to give the NFL's best offense just enough against its best defense in terms of yards per game.

MORE: Highlights from Ravens' last-second win

With their win, the Ravens reached 10-2 and strengthened their grip on the AFC North. The 49ers, whose chance to clinch a playoff spot this week was ruined by the loss in Baltimore, fell to 10-2 and into a tie with the Saints for the best record in the NFC.

Even in a losing effort, though, San Francisco was impressive enough Sunday on the road for one to think this defeat means nothing for the big picture. The 49ers outplayed the Ravens based on a handful of stats, including total yards (331-283) and yards per play (6.4-4.6). Baltimore, which had the advantage in time of possession (32:26-27:34) simply held the ball long enough on its final possession to give Tucker his chance at the game-winning kick.

Below are three takeaways from Sunday's game in Baltimore.

The 49ers and Ravens are equally tough to stop on offense for different reasons.

Don't take much from Sunday's relatively low score. Considering the conditions in which the game in Baltimore was played, a total of 37 points scored was surprising, especially considering both the 49ers and the Ravens entered with top-five scoring defenses.

Yes, the pure talent of Jackson allowed Baltimore to produce a handful of highlights against the league's top defense in terms of yards allowed per game, but the play designs in coordinator Greg Roman's scheme continue to give Baltimore easy chances at first downs and extended drives. In the end, those conversions were the reasons the Ravens could run down the clock and kick the game-winner.

The Ravens are so tough to defend because every play is essentially an option, with Jackson typically handing off or faking a hand-off to the likes of Mark Ingram and Gus Edwards. Lots of motion distracts defenders from the run-action in the backfield, and of course, Jackson has to be accounted for on every snap, via a QB spy or at least a semblance of zone coverage. And that zone coverage allows receivers like tight end Mark Andrews to find spots for easy, intermediate completions.

Likewise, the 49ers often use motion to get defenders running in certain directions at the snap. When that motion is working and the offense is clicking, San Francisco can be just as dangerous offensively as its Week 13 opponent.

Ravens entered the game with the third-best rush defense in the league allowing 87.7 yards per game, and the 49ers racked up 174 rushing yards Sunday thanks to a heavy dose of Raheem Mostert. San Francisco's dominant run-blocking up front is supplemented by the physicality of tight end George Kittle, who owns defenders in run-blocking as much as he does in pass-catching.

These offenses look different due to the skill sets of their respective QBs, but a key element they have in common is versatility. The 49ers on Sunday had five different players carry the ball and seven different players catch passes. The Ravens had four different players run the ball and nine different players catch passes.

Thanks in part to these dangerous offenses, 49ers vs. Ravens in Week 13 was billed as a potential Super Bowl preview. Nothing about Sunday's result changes the championship outlook for either team.

The winning team, though, does have at least one weakness that was exposed.

MORE: Updated NFL playoff picture

Marcus Peters is a liability in the Ravens' secondary.

Peters contributed an interception (and some choice post-game words) to the Ravens' beatdown of the Rams last week. Against the 49ers, he was the kind of liability that could hurt the Ravens in the future.

The 26-year-old cornerback had a rough day against San Francisco. He was picked on in coverage and bullied in the run game; for example, his missed tackle attempt on Mostert in the second quarter let the visitors tie the game.

Peters' performance aside, the way the 49ers chose to attack him told us all we need to know about how to view the CB. On the first third-down situation of the game, San Francisco quarterback Garoppolo went right at Peters on a throw to Kendrick Bourne for a conversion.

A few plays later, on a fourth-and-2 from Baltimore's 33-yard line, Garoppolo lofted a deep ball into Peters' coverage. Deebo Samual simply stepped in front of the corner, snagged the ball and walked into the end zone for a TD on the game's first possession.

Pass defense in general is an area of concern for the Ravens, who entered Week 13 allowing 235 passing yards per game. The three interceptions Peters has recorded since he was traded from Los Angeles to Baltimore in October clearly don't scare opposing coaches. San Francisco picked on him all day in Week 13.

It Peters continues to be a weakness for Baltimore's defense, it probably won't hurt the team through the final four weeks of the season in matchups against the Bills, Jets, Browns and Steelers. If the Ravens draw the Patriots, Chiefs or even the Texans in the playoffs, though, those offenses will want to pick on Peters.

Pass interference continues to be a guessing game in the NFL.

Late in the third quarter Sunday, Baltimore coach John Harbaugh challenged the lack of a pass interference penalty on 49ers safety Jimmie Ward, who the coach thought interfered with tight end Mark Andrews as a deep ball from Jackson arrived. Watch the play bel


Upon replay review by the NFL in New York, the play stood as (non) called. Harbaugh lost his challenge and a timeout.

Many observers noted that Ward as the defender has an equal right to the ball, and the fact that he turned his head back to and played the ball means it was a good non-call. Others, however, noted the NFL officiates pass interference based on whether the defender "significantly hinders" the receiver's opportunity to catch the ball. In that regard, Andrews didn't have much of a chance.

This is the latest example of nobody — coaches included — knowing what to expect this season when the NFL reviews pass interference calls or non-calls. After the first half of the season featured a shockingly low number of overturned PI calls upon review, some have suggested a poor non-call in the Ravens-Texans game a few weeks ago triggered a change in the league's tendencies, as more calls have been overturned in the weeks since.

Not on Sunday in Baltimore, though. The guessing game continues with the league's one-year expirement on pass interference review.