A typical website is comprised of a set of files (each web page-home page, about page, etc. - is an individual file). Each file contains HTML code and content (text and images). Web pages are styled with files called Cascading Style Sheets (CSS). For ease of explanation, let's say that a standard (non-responsive) website has a set of files and a few CSS files that govern the look of the site. A responsive website applies an alternate set of CSS files depending on the device being used to access the site. The site looks and 'responds' differently based on the device.
For example, while someone viewing the site from a desktop device sees a horizontally aligned navigation menu, someone viewing the site from a mobile device gets a vertically aligned navigation menu with larger text that is easier to read on a smaller screen.
There was a time when people only accessed websites from a desktop computer. The vast majority had the same size monitor. Websites were designed for the average visitor. Today, people access websites from a variety of different devices with screens ranging from a few inches all the way up to 27" or more and expectations have changed. Consumers expect the website they're visiting to know that they're using a tablet vs. a PC. They expect the site to adjust to them-not the other way around.
Different devices also come with different expectations in terms of usability. For example, the Apple iPhone has "trained" people to expect to be able to swipe left/right/up/down. People visiting a website from a smartphone expect to be able to click a phone number and have their phone give them the option of auto-dialing that number. Similarly, they expect an address to have a "click for directions" option that uses their phone's GPS.
A site that is responsive takes all of this into account and automatically adjust to provide visitors with the best possible user experience regardless of the device being used to access the site.