<?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>1090 - Disclosure - Stock Repurchase Programs</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>D2013Q2YTD</ContextID><EntitySchema>http://www.sec.gov/CIK</EntitySchema><EntityValue>0000028917</EntityValue><PeriodDisplayName /><PeriodType>duration</PeriodType><PeriodStartDate>2013-02-03T00:00:00</PeriodStartDate><PeriodEndDate>2013-08-03T00: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="Aug. 03, 2013" /></Labels></Column></Columns><Rows><Row FlagID="0"><Id>1</Id><IsAbstractGroupTitle>true</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>1</Level><ElementName>dds_StockRepurchaseProgramDisclosureAbstract</ElementName><ElementPrefix>dds_</ElementPrefix><IsBaseElement>false</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>Stock Repurchase Programs</Label></Row><Row FlagID="0"><Id>2</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>2</Level><ElementName>us-gaap_TreasuryStockTextBlock</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="D2013Q2YTD" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText>&lt;div style="font-size:10.0pt;font-family:Times New Roman;"&gt;
&lt;p style="MARGIN: 0in 0in 0pt;"&gt;&lt;b&gt;&lt;font style="FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt; FONT-WEIGHT: bold;" size="2"&gt;Note 9.&amp;#160; Stock Repurchase Programs&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt;"&gt;&amp;#160;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&lt;font style="FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt;" size="2"&gt;All repurchases of the Company&amp;#8217;s Class&amp;#160;A Common Stock were made at the market price at the trade date.&amp;#160; Accordingly, all amounts paid to reacquire these shares were allocated to Treasury Stock.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&amp;#160;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&lt;b&gt;&lt;i&gt;&lt;font style="FONT-STYLE: italic; FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt; FONT-WEIGHT: bold;" size="2"&gt;2013 Stock Plan&lt;/font&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&amp;#160;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&lt;font style="FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt;" size="2"&gt;In March&amp;#160;2013, the Company&amp;#8217;s Board of Directors authorized the repurchase of up to $250 million of the Company&amp;#8217;s Class&amp;#160;A Common Stock under an open-ended stock plan (&amp;#8220;2013 Stock Plan&amp;#8221;).&amp;#160; This authorization permits the Company to repurchase its Class&amp;#160;A Common Stock in the open market, pursuant to preset trading plans meeting the requirements of Rule&amp;#160;10b5-1 under the Securities Exchange Act of 1934 (&amp;#8220;Exchange Act&amp;#8221;) or through privately negotiated transactions.&amp;#160; No repurchases were made during the three months ended August&amp;#160;3, 2013.&amp;#160; During the six months ended August&amp;#160;3, 2013, the Company repurchased 0.3 million shares for $22.7 million at an average price of $79.04 per share.&amp;#160; At August&amp;#160;3, 2013, $227.3 million of authorization remained under the 2013 Stock Plan.&lt;/font&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt;" align="center"&gt;&amp;#160;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&lt;b&gt;&lt;i&gt;&lt;font style="FONT-STYLE: italic; FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt; FONT-WEIGHT: bold;" size="2"&gt;2012 Stock Plan&lt;/font&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&amp;#160;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&lt;font style="FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt;" size="2"&gt;In February&amp;#160;2012, the Company&amp;#8217;s Board of Directors authorized the repurchase of up to $250 million of the Company&amp;#8217;s Class&amp;#160;A Common Stock under an open-ended stock plan (&amp;#8220;2012 Stock Plan&amp;#8221;).&amp;#160; This authorization permitted the Company to repurchase its Class&amp;#160;A Common Stock in the open market, pursuant to preset trading plans meeting the requirements of Rule&amp;#160;10b5-1 under the Exchange Act or through privately negotiated transactions.&amp;#160; During the three months ended July&amp;#160;28, 2012, the Company repurchased 2.1 million shares for $134.6 million at an average price of $64.52 per share.&amp;#160; During the six months ended August&amp;#160;3, 2013, the Company repurchased 1.2 million shares for $92.0 million at an average price of $79.14 per share, which completed the authorization under the 2012 Stock Plan.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&amp;#160;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&lt;b&gt;&lt;i&gt;&lt;font style="FONT-STYLE: italic; FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt; FONT-WEIGHT: bold;" size="2"&gt;May&amp;#160;2011 Stock Plan&lt;/font&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&amp;#160;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 13.5pt;"&gt;&lt;font style="FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt;" size="2"&gt;In May&amp;#160;2011, the Company&amp;#8217;s Board of Directors authorized the Company to repurchase up to $250 million of the Company&amp;#8217;s Class&amp;#160;A Common Stock under an open-ended stock plan (&amp;#8220;May&amp;#160;2011 Stock Plan&amp;#8221;).&amp;#160; This authorization permitted the Company to repurchase its Class&amp;#160;A Common Stock in the open market, pursuant to preset trading plans meeting the requirements of Rule&amp;#160;10b5-1 under the Exchange Act or through privately negotiated transactions.&amp;#160; During the six months ended July&amp;#160;28, 2012, the Company repurchased 439 thousand shares for $27.5 million at an average price of $62.71 per share, which completed the authorization under the May&amp;#160;2011 Stock Plan.&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt;"&gt;&amp;#160;&lt;/p&gt;
&lt;/div&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 an entity's treasury stock, including the average cost per share, carrying basis for each class of treasury stock, description of share repurchase program authorized by an entity's board of directors, the number of shares repurchased, the cost of the shares repurchased, the remaining maximum dollar value of shares available for repurchase under the program, the treatment of the purchase price in excess of the current market value, number of shares held for each class of treasury stock, and other information necessary to a fair presentation.</ElementDefenition><ElementReferences>No definition available.</ElementReferences><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Stock Repurchase Programs</Label></Row></Rows><Footnotes /><IsEquityReport>false</IsEquityReport><ReportName>Stock Repurchase Programs</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://www.dillards.com/role/DisclosureStockRepurchasePrograms</RoleURI><NumberOfCols>1</NumberOfCols><NumberOfRows>2</NumberOfRows></InstanceReport>
