Sometimes, you need to add shortcodes to a Text Widget. Fortunately you can do this easily by adding the do_shortcode function to the widgets by using a filter that you can hook into to do this.
Adding a custom loop in order to load content from a different area of WordPress is fairly straight forward. For example, on a page you could load in some posts, another page or content from a Custom Post Type. You can do this inside another loop, or completely independently. To add a new loop, you need to create a new WP_Query.