In 1811, a post office was established on what is now S.C. Highway 290. A tiny settlement sprung up around it, and both the post office and community were named New Hope. In 1854, the town changed its name to Vernonville or Vernonsville in honor of local physician J.J. Vernon. In the mid-1850s, plans were under way to put a railroad line through Duncan, but the impending Civil War disrupted them. It was not until 1873 that the Atlanta and Richmond Railroad laid a line through the town. Shortly after the Civil War, Leroy Duncan came to town and began buying land. Duncan was an ambitious man who craved recognition. During celebrations for the new railroad line, he promised townspeople he would provide land for city streets if they would agree to rename the town after him. In 1881, the name change became official. Duncan became the site of an important footnote in Spartanburg County's African-American history when the Rock Hill Negro School opened in Duncan in 1881. Within two years of its name change, Duncan boasted a population of 200, along with several general stores, saw and flour mills and a cotton gin. The town received its charter in 1889. The Hughes Hotel, opened in 1892, became a focal point of the town and drew travelers from the Greenville-Spartanburg road.
As of the census of 2000, there were 2,870 people, 1,125 households, and 811 families residing in the town. The population density was 818.4 people per square mile. There were 1,274 housing units at an average density of 363.3 per square mile. The racial makeup of the town was 65.68% White, 30.84% African American, 0.14% Native American, 0.66% Asian, 1.67% from other races, and 1.01% from two or more races. Hispanic or Latino of any race were 3.41% of the population. There were 1,125 households, out of which 43.6% had children under the age of 18 living with them, 38.3% were married couplesliving together, 29.7% had a female householder with no husband present, and 27.9% were non-families. 24.3% of all households were made up of individuals, and 9.3% had someone living alone who was 65 years of age or older. The average household size was 2.54 and the average family size was 2.96. In the town, the population was spread out, with 33.0% under the age of 18, 11.0% from 18 to 24, 30.5% from 25 to 44, 14.8% from 45 to 64, and 10.7% who were 65 years of age or older. The median age was 28 years. For every 100 females, there were 85.6 males. For every 100 females age 18 and over, there were 73.1 males. The median income for a household in the town was $27,974, and the median income for a family was $28,547. Males had a median income of $27,236 versus $21,585 for females. The per capita income for the town was $13,194. About 19.1% of families and 20.3% of the population were below the poverty line, including 29.4% of those under age 18 and 13.0% of those age 65 or over.