A witness is someone that needs to keep and maintain a server so Steemit can continue running.
Witnesses are tasked with validating and producing the blocks for the blockchain, which ensures everything in the network operates smoothly and correctly. Every three seconds one of the witnesses assemble all of the transactions that have occurred (such as posts, comments, votes, STEEM/SBD transfers) into a "block" and then they store all that information in the distributed database network called the "blockchain".
Thanks for explaining it here!
No problem also why you can only vote once per 3 seconds. Also this is copied from Tim Cliff's witness thread