Apparently you are simply not translating your logic into code:
- if it has shortcode, do this,
- if not has shortcode but has thumbnail, do that,
- otherwise, do something else.
if ( wpsite_has_topwide_shortcode() ) {
echo 'shortcode';
} elseif( has_post_thumbnail() ) {
echo get_the_post_thumbnail( $post->ID, 'full' );
} else {
echo 'Hello World';
}