The Wikipedia article you mention gives a succinct explanation:
VLAN identifier (VID): a 12-bit field specifying the VLAN to which the
frame belongs. The hexadecimal values of 0x000 and 0xFFF are reserved.
All other values may be used as VLAN identifiers, allowing up to 4,094
VLANs. The reserved value 0x000 indicates that the frame does not
carry a VLAN ID; in this case, the 802.1Q tag specifies only a
priority and is referred to as a priority tag. On bridges, VID 0x001
(the default VLAN ID) is often reserved for a management VLAN; this is
vendor-specific. The VID value 0xFFF is reserved for implementation
use; it must not be configured or transmitted. 0xFFF can be used to
indicate a wildcard match in management operations or filtering
database entries.
As you can see, there isn't really a usable VLAN 0 or 4095. Cisco uses VLAN 1 as a default VLAN, and management protocols (STP, CDP, DTP, etc) are sent on VLAN 1.
You can use VLAN 1 for simple installations where there is no VLAN trunking, but good practice is to not put user data on VLAN 1 in a multi-VLAN environment.