The VIC-II has many settings that can be changed, and also has the ability to produce an interrupt whenever a particular scanline has been hit. This allows us to make for example:
set an interrupt when the electron beam reaches a particular scanline. Change the border color when the interrupt happens, and then set another interrupt a few scanlines later, to change the border color back.
You now have a horizontal stripe across the border.
text and graphics on the same screen
A very similar trick to the one mentioned above. Maniac Mansion uses this one. Switch to one screen mode every vertical retrace, (that means the beam is at the top of the screen), and then wait a few scanlines and switch to a different screen mode. It is described here.
Some demos have graphics containing many more colours than the the 16 standard colours. This is done by very quickly switching between one image and another. So if a pixel is first red, then blue, then red again, alternating each frame, you get a purple which is different from the purple that the VIC-II produces. Not great for large areas since the flickering gets too uncomfortable, but you can get some extra colours that way
turn the upper and lower borders off
The VIC-II may be switched between 23 line mode and 24 line mode. If you set it to 24 line mode, and then set it to 23 line mode immediately before the the border would start, then the trigger to start the border never happens. This means that the border does not get drawn to the screen. You can not put pixels or characters in this area, but you can put sprites there.
turning off left and right borders
Similar to turning upper and lower borders off. By switching from 38 column mode to 40 column mode and back again at just the right times, you can cause the trigger that makes the borders appear not happen, which means that the borders will not appear. You can't draw anything to the bitmap, but you can put sprites there. This needs to be done every single scan line though, so it's not that common.
The VIC-II can draw 8 sprites to the screen at any one time. But by reconfiguring one of the sprites as the beam is halfway down the screen, you can get it to appear twice on the screen.
nine sprites horizontally
Although the VIC-II has 8 hardware sprites, by changing the sprite pointer as the beam is halfway along a scanline, you can get sprite 0 to show up near the left-hand edge and near the right-hand edge of the screen. This needs to be done once per scanline that has nine sprites.
Flexible Line Interpretation
Every eighth scanline, the VIC-II halts the CPU so that it can read data twice as quickly! This is called a badline. During this time, it reads 40 bytes of screenmem and 40 bytes of bitmap. But by meddling with the vertical scrolling you can cause the VIC-II to do this on different scanlines, and this can let you overcome the colour clash. You just need to update screenmem (this contains colour information, and then cause a badline so that screenmem will be re-read.
Because in multicolor mode, each pixel is twice as wide as usual. To mitigate this, create two frames, and alternate between them. As you alternate the frames, also scroll the whole screen left and right by one pixel. Now, both halves of the double-width pixel is interlaced with the adjacent half of the next or previous pixel on the other frame, so that you have the appearance of a greater amount of colours in an attribute cell and higher resolution.
There are probably many others that I have failed to mention here.