Well, there are a lot of restrictions, but unlike other consoles the SNES has several display modes and is able to switch them during display (thanks to the HDMA feature). So graphical restrictions can vary a lot. But I'll try to give you a rough picture:
- For backgrounds, the most common display mode, Mode 1, has 3 active layers. Two layers can hold a 16 colors image each, while the third one is limited to 4 colors only. There are additional modes that display a single layer of 256 colors, or 4 layers of 4 colors each.
- And of course, there is the famous "Mode 7" that can display a single 256 color image that can be rotated and scaled freely. This allow you to make rotating backgrounds like in Super Metroid or Castlevania IV. For 3D effect like in F-Zero or Super Mario Kart, you'll need to use the HDMA feature in addition to mode 7, so that's quite an advanced topic :). I haven't toyed with mode 7 yet, but I hope to be able to use it in a project someday!
- For sprites, the SNES can display up to 128 sprites on screen (a huge number!). Each sprite can be either of "small size" or "large size". Like the display modes, you can choose what numbers of pixels "small" and "large" actually refer to, from the following size: 8x8, 16x16, 32x32 and 64x64. For example, in Yo-Yo Shuriken I used 16x16 sprites for "small" (player and enemies) and 32x32 for "large" (the explosions). The larger your sprite are, the more VRAM they'll take, and of course the total amount of VRAM is limited :)
- I don't remember the exact number, but IIRC the SNES can only display 320 pixels on a single line, meaning that you can have about 20 sprites of 16x16px on a single line (compared to the NES who can only display 4 sprites of 16x16px, this is huge)
- Regarding colors, the SNES have 8 palettes of 16 colors for backgrounds, and 8 palettes of 16 colors for sprites. This is why SNES graphics are so colorful :).
- Regarding audio, the SNES is very powerful for it's release date, and can play sample based music (i.e. tracker music). But you need to fit all the samples and sound effects in the limited RAM space (honestly, there is quite a lot of Sound RAM available, but this is the main limit for audio). Also, you have 8 audio channels available - so if you use 2 channels for Sound Effects, your music can only have 6 channels (that is already quite good IMHO).
- To summarize, compared to 8 bit consoles, the SNES is much less restricted in graphics and audio. Honestly, the main thing you'll fight with, especially when developing in C, is the total amount of CPU power available. The SNES can display loads of sprites on screen, but it will have an hard time to check collision for all of them in a single frame for example.