<?xml version="1.0" encoding="us-ascii"?><InstanceReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Version>2.4.0.8</Version><ReportLongName>0206 - Disclosure - Commitments and Contingencies</ReportLongName><DisplayLabelColumn>true</DisplayLabelColumn><ShowElementNames>false</ShowElementNames><RoundingOption /><HasEmbeddedReports>false</HasEmbeddedReports><Columns><Column FlagID="0"><Id>1</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><CurrencyCode /><FootnoteIndexer /><hasSegments>false</hasSegments><hasScenarios>false</hasScenarios><MCU><KeyName /><CurrencySymbol /><contextRef><ContextID>Jan_01_2013_Jun_30_2013</ContextID><EntitySchema>http://www.sec.gov/CIK</EntitySchema><EntityValue>0001054721</EntityValue><PeriodDisplayName /><PeriodType>duration</PeriodType><PeriodStartDate>2013-01-01T00:00:00</PeriodStartDate><PeriodEndDate>2013-06-30T00:00:00</PeriodEndDate><Segments /><Scenarios /></contextRef><UPS /><CurrencyCode /><OriginalCurrencyCode /></MCU><CurrencySymbol /><Labels><Label Key="CalendarSupplement" Id="0" Label="6 Months Ended" /><Label Key="Calendar" Id="1" Label="Jun. 30, 2013" /></Labels></Column></Columns><Rows><Row FlagID="0"><Id>1</Id><IsAbstractGroupTitle>true</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>1</Level><ElementName>us-gaap_CommitmentsAndContingenciesDisclosureAbstract</ElementName><ElementPrefix>us-gaap_</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText /><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>xbrli:stringItemType</ElementDataType><SimpleDataType>string</SimpleDataType><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Commitments and Contingencies [Abstract]</Label></Row><Row FlagID="0"><Id>2</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>2</Level><ElementName>us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</ElementName><ElementPrefix>us-gaap_</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole>terseLabel</PreferredLabelRole><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="Jan_01_2013_Jun_30_2013" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText>&lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
   &lt;!-- Begin Block Tagged Note 6 - us-gaap:CommitmentsAndContingenciesDisclosureTextBlock--&gt;
   &lt;p style="margin-top:18px;margin-bottom:0px"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&lt;b&gt;6. Commitments and Contingencies &lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
   &lt;p style="margin-top:6px;margin-bottom:0px; margin-left:2%"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&lt;b&gt;&lt;i&gt;Lease and rent obligations &lt;/i&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
   &lt;p style="margin-top:6px;margin-bottom:0px; text-indent:4%"&gt;&lt;font style="font-family:times new roman" size="2"&gt;
   Our commitments include obligations outstanding under operating leases, which expire through 2018. We have lease commitments for office space in Bellevue, Washington; San Diego, California; Chandler,
   Arizona: Boston, Massachusetts: Taipei, Taiwan; Beijing, China; Seoul, Korea; Tokyo, Japan; Munich, Germany; and Trowbridge, UK. We also lease office space on a month-to-month basis in Akron, Ohio. &lt;/font&gt;&lt;/p&gt;
   &lt;p style="margin-top:12px;margin-bottom:0px; text-indent:4%"&gt;&lt;font style="font-family:times new roman" size="2"&gt;Rent expense was $378,000 and $754,000 for the three and six months ended June&amp;#160;30, 2013, respectively, and $423,000 and $903,000 for
   the three and six months ended June&amp;#160;30, 2012, respectively. As of June&amp;#160;30, 2013, we had $875,000 pledged as collateral for a bank letter of credit under the terms of our headquarters facility lease. The pledged cash supporting the
   outstanding letter of credit is classified as restricted cash. &lt;/font&gt;&lt;/p&gt;
   &lt;p style="margin-top:12px;margin-bottom:0px; text-indent:4%"&gt;&lt;font style="font-family:times new roman" size="2"&gt;Future operating lease commitments are as follows
   by calendar year (in thousands): &lt;/font&gt;&lt;/p&gt;
   &lt;p style="font-size:12px;margin-top:0px;margin-bottom:0px"&gt;&amp;#160;&lt;/p&gt;
   &lt;table cellspacing="0" cellpadding="0" width="68%" border="0" style="border-collapse:collapse; text-align: left" align="center"&gt;
   &lt;!-- Begin Table Head --&gt;
   &lt;tr&gt;
   &lt;td width="87%"&gt;&amp;#160;&lt;/td&gt;
   &lt;td valign="bottom" width="5%"&gt;&amp;#160;&lt;/td&gt;
   &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;!-- End Table Head --&gt;
   &lt;!-- Begin Table Body --&gt;
   &lt;tr bgcolor="#cceeff"&gt;
   &lt;td valign="top"&gt;
   &lt;p style="margin-left:3.00em; text-indent:-1.00em"&gt;&lt;font style="font-family:times new roman" size="2"&gt;Remainder of 2013&lt;/font&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;$&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom" align="right"&gt;&lt;font style="font-family:times new roman" size="2"&gt; 775&lt;/font&gt;&lt;/td&gt;
   &lt;td nowrap="nowrap" valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
   &lt;td valign="top"&gt;
   &lt;p style="margin-left:3.00em; text-indent:-1.00em"&gt;&lt;font style="font-family:times new roman" size="2"&gt;2014&lt;/font&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom" align="right"&gt;&lt;font style="font-family:times new roman" size="2"&gt;1,055&lt;/font&gt;&lt;/td&gt;
   &lt;td nowrap="nowrap" valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr bgcolor="#cceeff"&gt;
   &lt;td valign="top"&gt;
   &lt;p style="margin-left:3.00em; text-indent:-1.00em"&gt;&lt;font style="font-family:times new roman" size="2"&gt;2015&lt;/font&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom" align="right"&gt;&lt;font style="font-family:times new roman" size="2"&gt;276&lt;/font&gt;&lt;/td&gt;
   &lt;td nowrap="nowrap" valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
   &lt;td valign="top"&gt;
   &lt;p style="margin-left:3.00em; text-indent:-1.00em"&gt;&lt;font style="font-family:times new roman" size="2"&gt;2016&lt;/font&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom" align="right"&gt;&lt;font style="font-family:times new roman" size="2"&gt;276&lt;/font&gt;&lt;/td&gt;
   &lt;td nowrap="nowrap" valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr bgcolor="#cceeff"&gt;
   &lt;td valign="top"&gt;
   &lt;p style="margin-left:3.00em; text-indent:-1.00em"&gt;&lt;font style="font-family:times new roman" size="2"&gt;2017&lt;/font&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom" align="right"&gt;&lt;font style="font-family:times new roman" size="2"&gt;141&lt;/font&gt;&lt;/td&gt;
   &lt;td nowrap="nowrap" valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
   &lt;td valign="top"&gt;
   &lt;p style="margin-left:3.00em; text-indent:-1.00em"&gt;&lt;font style="font-family:times new roman" size="2"&gt;Thereafter&lt;/font&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom" align="right"&gt;&lt;font style="font-family:times new roman" size="2"&gt;91&lt;/font&gt;&lt;/td&gt;
   &lt;td nowrap="nowrap" valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size:1px"&gt;
   &lt;td valign="bottom"&gt;&amp;#160;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&amp;#160;&lt;/td&gt;
   &lt;td valign="bottom"&gt;
   &lt;p style="border-top:1px solid #000000"&gt;&amp;#160;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;
   &lt;p style="border-top:1px solid #000000"&gt;&amp;#160;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr bgcolor="#cceeff"&gt;
   &lt;td valign="top"&gt;
   &lt;p style="margin-left:1.00em; text-indent:-1.00em"&gt;&lt;font style="font-family:times new roman" size="2"&gt;Total commitments&lt;/font&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font size="1"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;$&lt;/font&gt;&lt;/td&gt;
   &lt;td valign="bottom" align="right"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,614&lt;/font&gt;&lt;/td&gt;
   &lt;td nowrap="nowrap" valign="bottom"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&amp;#160;&lt;/font&gt;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr style="font-size:1px"&gt;
   &lt;td valign="bottom"&gt;&amp;#160;&lt;/td&gt;
   &lt;td valign="bottom"&gt;&amp;#160;&lt;/td&gt;
   &lt;td valign="bottom"&gt;
   &lt;p style="border-top:3px double #000000"&gt;&amp;#160;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td valign="bottom"&gt;
   &lt;p style="border-top:3px double #000000"&gt;&amp;#160;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&amp;#160;&lt;/td&gt;
   &lt;/tr&gt;
   &lt;!-- End Table Body --&gt;
   &lt;/table&gt;
   &lt;p style="font-size:1px;margin-top:18px;margin-bottom:0px"&gt;&amp;#160;&lt;/p&gt;
   &lt;p style="margin-top:0px;margin-bottom:0px; margin-left:2%"&gt;&lt;font style="font-family:times new roman" size="2"&gt;&lt;b&gt;&lt;i&gt;Volume Pricing
   Agreements &lt;/i&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
   &lt;p style="margin-top:6px;margin-bottom:0px; text-indent:4%"&gt;&lt;font style="font-family:times new roman" size="2"&gt;In conjunction with our activities under our OEM Distribution Agreements (&amp;#8220;ODAs&amp;#8221;) with Microsoft
   Corporation (&amp;#8220;Microsoft&amp;#8221;), as further described in Note 8, we enter into OEM Volume Royalty Pricing (&amp;#8220;OVRP&amp;#8221;) commitments with Microsoft. Under these OVRPs, we are provided with volume pricing on a customer-by-customer basis
   assuming certain minimum unit volumes are met.&amp;#160;The OVRP terms are 12 months. In the event we don&amp;#8217;t meet the committed minimum unit volumes, we are obligated to pay the difference between the committed per-unit volume rate and the actual
   per-unit rate we achieved based upon actual units purchased.&amp;#160;The OVRP arrangements do not equate to a minimum purchase commitment but rather, the arrangements are a volume pricing arrangement based upon actual volume purchased.&amp;#160;In
   substantially all instances, we have reciprocal agreements with our customers such that we will receive per-unit price adjustments, similar to the amounts we would subsequently owe to Microsoft if such OVRP volumes are not met.&amp;#160;However, in the
   event a customer is unwilling or unable to pay us, we would be negatively impacted. Based upon the credit-worthiness of our customers, our historical OVRP experience with our customers and OVRP arrangements in general, we do not believe we will
   incur any material liability in the current or future periods and therefore no provision or reserve has been recorded as of June&amp;#160;30, 2013. &lt;/font&gt;&lt;/p&gt;
</NonNumbericText><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>nonnum:textBlockItemType</ElementDataType><SimpleDataType>na</SimpleDataType><ElementDefenition>The entire disclosure for commitments and contingencies.</ElementDefenition><ElementReferences>Reference 1: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 210

 -SubTopic 10

 -Section S99

 -Paragraph 1

 -Subparagraph (SX 210.5-02.25)

 -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682



Reference 2: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 825

 -SubTopic 20

 -Section 50

 -Paragraph 1

 -URI http://asc.fasb.org/extlink&amp;oid=6449706&amp;loc=d3e16207-108621



Reference 3: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 460

 -SubTopic 10

 -Section 50

 -Paragraph 8

 -URI http://asc.fasb.org/extlink&amp;oid=6398077&amp;loc=d3e12565-110249



Reference 4: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 450

 -SubTopic 20

 -Section 50

 -Paragraph 4

 -URI http://asc.fasb.org/extlink&amp;oid=25496072&amp;loc=d3e14435-108349



Reference 5: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 440

 -SubTopic 10

 -Section 50

 -Paragraph 2

 -URI http://asc.fasb.org/extlink&amp;oid=6394976&amp;loc=d3e25287-109308



</ElementReferences><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Commitments and Contingencies</Label></Row></Rows><Footnotes /><IsEquityReport>false</IsEquityReport><ReportName>Commitments and Contingencies</ReportName><MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel><SharesRoundingLevel>UnKnown</SharesRoundingLevel><PerShareRoundingLevel>UnKnown</PerShareRoundingLevel><ExchangeRateRoundingLevel>UnKnown</ExchangeRateRoundingLevel><HasCustomUnits>true</HasCustomUnits><IsEmbedReport>false</IsEmbedReport><IsMultiCurrency>false</IsMultiCurrency><ReportType>Sheet</ReportType><RoleURI>http://bsquare.com/role/CommitmentsAndContingencies</RoleURI><NumberOfCols>1</NumberOfCols><NumberOfRows>2</NumberOfRows></InstanceReport>
