Answer:
The Commodore 64 was what we call a General Purpose Computer in that it was equipped with a full keyboard and an operating system and BASIC programming language that was instantly accessible when you turned it on. With its 1 MHz 6510 processor it was more than capable to do any typical computing task at the time and indeed made the step into the computing and programming world an easy one with its instant on and "READY" prompt. It was by many people in the computing field today the first encounter with programming, and along with its competitors it laid the foundation for general purpose computing in the home, a Personal Computer (PC) as we call them today.
The machine had 64 kilobytes (65536 bytes) of memory of which you could use around 38911 bytes for any single BASIC program (a truth with modifications as you could easily access other areas in memory from your program). The BASIC was made by none other than Micro-Soft, and it was version 2.0 of this that was used on the Commodore 64. Many would argue that this was severely underpowered as there were no BASIC commands to use the real power of the C64 hardware without writing directly to memory registers using POKE commands.
One only have to look at the hardware specifications to see what the Commodore 64 was capable of. Besides the 64 KB of ram, it had a VIC II chip capable of 16 colours, custom character maps and 8 sprites. Both characters and sprites could use a multi-colour mode where two pixels were combined to form an index to 4 colours selected out of the 16 colours available. Naturally since the Vic II updated the screen raster line by raster line, you could employ all kinds of cool tricks like changing the registers that mapped colours and moving sprites around as the screen was being drawn to achieve more colours and sprites at the same time. The Vic II chip could address 16 KB of the system memory to get custom character maps and sprites at a time, but you could change this pointer in blocks to reach the full 64 KB of ram. This could be used for things like double buffering or changing the whole character map. The Vic II also had a bitmap mode that gave you a full 320x200 two colour or 160x200 four colour screen to play with.
The actual screen consisted of 40x25 characters or 320x200 pixels size and both the border around this and the background colour could be set individually. The border worked as a "window" that e.g. sprites could come out from but the border could also be "grown" by 8 pixels in horizontal and vertical direction to achieve smooth character scrolling by having the characters disappear behind this border. By setting a register you could offset this character display from 0 to 7 to achieve smooth scrolling. Effectively you would see 39x24 characters of data in the main area for a full screen scroller. Furthermore some tricks allowed you to turn off the borders making sprites residing in this area to "shine through" which a number of games eventually also used to get more information on the screen. Generally the Vic II could be tricked in many ways, something demo programmers up to this day still play around with.
As for displaying this picture (and sound) you could either hook the machine up to a normal TV from the RF port, or get a higher definition monitor and use the Video output DIN plug which also carried sound. The latter had much clearer pixel definition compared to the RF signal which could look rather blurred out with colours bleeding into each other.
Another big feature of the C64 compared to the competition at the time was the SID sound chip which was both a digital and analogue device quite unlike anything at the present time. It had 3 channels and 4 different waveforms and noise which a good music artist (actually programmer) could combine in such a way to make new sounds. In addition you had filters and ring modulation effects that could be applied. It is no wonder why the SID sound is still a popular sound chip used by many hobby musicians and indeed some of the people behind the famous C64 music from the 80s is still active musicians today playing the same songs. Like the VIC II chip the SID could be tricked in ways that enabled it to play back sampled sound as well.
The Commodore 64 also had a tape drive and serial interface in addition to two joystick ports (which could also be used for analogue paddle input). The disk drive port was criticised for its lack of a real serial interface and because of this the disk drive is by default fairly slow compared to what it could have been. Due to the high price of the drive a number of countries used a tape drive instead which is also shown by the number of games that only got a tape release. An number of enhancements can be done to a disk drive to make its speed faster. Comparably the tapes could take a long time to load a full game at its default speed so a number of "fast loaders" were made which essentially packed the data more densely on the tape but at the same time made it more vulnerable for the dreaded LOAD ERROR.
Furthermore the Commodore 64 had a cartridge port that mapped directly into memory and had some limitations so that most of the early games only had 8KB or 16KB roms since that was the maximum you could directly map. Later games overcome this limitation by dynamic bank switching on the cartridge and moving necessary data in and out of it to main memory as it was needed. The most popular cartridges at the time was without doubt those that could halt the computer and let you dump memory contents to tape or disk as well as modify the memory to cheat in games. It was frequently used to make pirated copies, but was also an excellent way for programmers to learn assembly since most had an assembler and disassembler enabling them to write pure machine code to harvest the true speed of the 6510 processor.
Finally the C64 had an expansion port which enabled you to hook up true RS232 interfaces, printers, modems and all sorts of hobby electronics as there was a large community of enthusiasts and magazines specialising in using this port for controlling any kind of electronics.
While Commodore tried hard to market this as a machine that could be used for businesses and other serious things, there is no doubt that its main purpose in the average home was for the kids to play games. But at the same time it opened up a world of programming for many enthusiasts, an interest that in many cases lead to their choices in education and work to become computer professionals. Fortunately many of these are still aware of their roots and still do hobby development on this 25+ year old computer maintaining a community so that this important piece of history is not lost.