Why Worpdress doesn’t create table in database?

SQL is fairly temperamental syntax, not sure if it will make a difference but try adding the missing space before ( and removing ; from the end:

$sql = "CREATE TABLE " . $table_name . " (
    id BIGINT(25) NOT NULL AUTO_INCREMENT,
    time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
    videoname VARCHAR(255) NOT NULL,
    video-des VARCHAR(255) NOT NULL,
    UNIQUE KEY id (id)
)";

The other thing I wonder if hyphens are allowed ie. video-des, since most table names use _ it made me think… this answer seems to suggest is it fine only if it is enclosed with the correct quotes ie. backticks not single quotes – so you may want to change it anyway to avoid future problems:

https://stackoverflow.com/questions/3168644/can-a-table-field-contain-a-hyphen

(although it is referring to table names not column key names so not totally sure on this.)

In any case you can check the return value of dbDelta it may give you a better idea. Since you can’t probably see the result during activation due to redirects, I’d write it to a file:

$result = dbDelta($sql);
ob_start(); print_r($result); 
file_put_contents(get_template_directory().'/dbdebug.txt',ob_get_contents());
ob_end_clean();